水仙花数-C语言

水仙花数-C语言,第1张

水仙花数-C语言

输出水仙花
一个n位整数(n>=3),它的每个位上的数的n次幂之和等于它本身。
输入两个数,输出这两个数之间所有的水仙花数。

#include
#include//用到pow函数,计算次方
int main()
{
	int a, b;
	scanf_s("%d %d", &a, &b);
	int temp;
	if (a > b)//防止左大右小
	{
		temp = a;
		a = b;
		b = temp;
	}
	for (int i=a; i <= b; i++)//遍历a到b
	{
		int n = 0;
		int ii = i;
		int iii = i;
		while (ii != 0)//算出它是几位数
		{
			ii = ii / 10;
			n++;
		}
		int sum = 0;
		while (iii != 0)//提取各位数并计算次方之和
		{
			int t;
			t = iii % 10;
			iii = iii / 10;
			sum = pow(t, n) + sum;
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5698854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存