输出m~n之间的所有水仙花数
【问题描述】输入2 个正整数m 和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。
【输入形式】
从键盘输入两个正整数m和n。
【输入输出样例1】(下划线部分表示输入)
Input m: 100
Input n: 400
153
370
371
【样例说明】
输入提示符后要加一个空格。
每行输出一个水仙花数。
英文字母区分大小写。必须严格按样例输入输出。
#include <stdio.h>
int fib(int m);
int main()
{
int n,m,i;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<n;i++)
if(fib(i))
printf("%d\n",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;
}