水仙花数N属于[3,6]
#include <stdio.h>
#include <math.h>
int main(void) {
int n;
int i,j,num;
double sum; //用来保存没一位数的值
//int sum; //若sum定义为int类型,则会因为pow的取值范围导致结果错误
scanf("%d",&n); //输入N
for (i = pow(10,n-1); i < pow(10,n); i++) {
num = i;
for (j = 0,sum = 0; j < n; j++) {
sum += pow(num%10,n);
num /= 10;
}
if (sum == i) {
printf("%.0lf\n",sum);
}
}
在命令指示符中的输出结果----------------
---------使用double类型的sum---------
3
153
370
371
407
---------使用int类型的sum------------
3
370
371
407
本文探讨了如何使用C语言编程解决水仙花数问题,通过精确的算法和代码实现,展示了如何找到特定位数的所有水仙花数,包括153、370、371和407等。
248

被折叠的 条评论
为什么被折叠?



