#include#include int main() { int i = 0; for ( i = 0; i <=100000; i++) { //判断i是否为水仙花数(自幂数) //1.计算i的位数 - n位数 //123/10 12 12!=0 n++ //12/10 1 1!=0 n++ //1/10 0 为0跳出循环 int n = 1; int tmp = i;//临时变量 int sum = 0; while (tmp /= 10) { n++; } //2.计算每一位的n次方之和 sum tmp = i; while (tmp) { sum+=pow(tmp%10,n);//pow(?,n)求n得次方 tmp /= 10; } //3.比较i==sum if (i == sum) { printf("%d ",i); } } return 0; }
运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)