输入两个正整数m和n,调用函数按从小到大的顺序输出给定区间[m,n]内所有的水仙花数。
题目如图所示
#include <stdio.h>
int fib(int m);
int main()
{
int n,m,i;
scanf("%d%d",&m,&n);
for(i=m;i<n;i++)
if(fib(i))
printf("%d ",fib(i));
return 0;
}
int fib(int i)
{
int s=0,a,copy;
copy=i;
do{
a=i%10;
i/=10;
s+=a*a*a;
}while(i);
if(s==copy)return s;
return 0;
}
#include <stdio.h>
int Narnumber(int n)
{
int a = n/100;
int b = n/10%10;
int c = n%10;
if(a*a*a + b*b*b + c*c*c == n)
return 1;
return 0;
}
int main()
{
int m,n,i;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
if(Narnumber(i) == 1)
printf("%d ",i);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!