如果一个四位数等于它的各位数字的4次方和,则这个数字称为“玫瑰花”数。
例如,1634
编写程序求出所有的玫瑰花数
方法一
#include<stdio.h>
void main()
{
int n=1000;
int a,b,c,d;
while(n<10000)
{
a=n%10;
b=(n/10)%10;
c=(n/100)%10;
d=n/1000;
if(n==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d\n",n);
n++;
}
}
方法二
#include<stdio.h>
void main()
{
int x,r,n;
for(n=1000;n<10000;n++)
{
int s=0;
x=n;
while(x>9)
{
r=x%10;
x=x/10;
s=s+r*r*r*r;
}
s=s+x*x*x*x;
if(n==s)
printf("%d\n",n);
}
}
输出结果