C语言代码 变种水仙花数

2024-01-09 23:03:11

????????变种水仙花数:把任意的数字从中间拆分成两个数字,如1461可拆分为1和461;14和61;146和1,若所有拆分后的乘积之和等于自身则是一个水仙花数。

1461=1*461?+ 14*61 + 146*1

求出5位数中的所有水仙花数。

代码示例:

#include <stdio.h>
#include <math.h>

int main()
{
	int i = 0;
	for (i = 10000; i < 99999; i++)
	{
		int j = 0;
		int sum = 0;
		for (j = 1; j <= 4; j++)
		{
			int k = (int)pow(10, j);
			sum += (i / k) * (i % k);
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
		
	}
	return 0;
}

运行结果:

14610 16420 23610 34420 65500

文章来源:https://blog.csdn.net/Echo_cy_/article/details/135490082
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。