玫瑰花数

来源:互联网 发布:sql2008数据库置疑 编辑:程序博客网 时间:2024/04/25 05:11

编写一个函数,判断某一个四位数是不是玫瑰花数字。玫瑰花数字是四位数字上各个位数上的数字的四次方和恰好等于该数字本身。
要求:在主函数中从键盘任意输入一个四位数,调用函数,判断是否为玫瑰花数,并输出文字结果
int s4cf(int i) // 四次方
{
return i*i*i*i;
}
int prac3(int n) //玫瑰花数为:1634 8208 9474
{
int a,b,c,d;
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
if(s4cf(a)+s4cf(b)+s4cf(c)+s4cf(d)==n)
{
printf(“%d是玫瑰花数。\n”,n);
}
else
printf(“%d不是玫瑰花数。\n”,n);
printf(“%d %d %d %d\n”,a,b,c,d);
return 0;
}
int prac4(int m,int n)
{
for (; m<=n; m++) {
if (m%5==0 && m%3!=0) {
printf(“%d “,m);
}
}

return 0;

}
main:
// int n;
// printf(“请输入一个四位数:”);
// scanf(“%d”,&n);
// prac3(n);

//玫瑰花数求法
int i,s,n,a,m;
printf(“玫瑰花数为:”);
for (a=1000; a<=9999; a++) {
s=0;
n=a;
for (i=1; i<=4; i++) {
m=n%10;
n=n/10;
s=s+m*m*m*m;
}
if (a==s) {
printf(“%d “,a);
}
}

0 0