题目内容:
如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。四位自方幂数称为玫瑰花数。编程计算并输出所有的玫瑰花数。
输入格式:无
输出格式:"%dn"
#include#include int main() { int i,a; int n,s; for(i=1000;i<=9999;i++)//保证是四位数 { s=0; a=i; while (a != 0) { n = a % 10; s+=pow(n,4);//计算每位数的4次方相加和 a = a/ 10; } if(s==i) printf("%dn",s); } return 0; }
为了输出所有玫瑰花数,需要:
1 .对所有四位数,即1000到9999遍历,故有for(i=1000;i<9999;i++);
2 .对每个数判断是否为玫瑰花数,如是则输出。



