输出水仙花数
一个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; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)