一道C语言编程题,初学者求教~
【问题描述】输入两个正整数m和n(m≥1,n≤1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,15...
【问题描述】
输入两个正整数m和n(m≥1,n≤1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。
例如,153的各位数字的立方和是13+53+33 =153。
【输入形式】
从键盘输入两个正整数m和n。
【输入输出样例1】(下划线部分表示输入)
Input m: 100
Input n: 400
153
370
371 展开
输入两个正整数m和n(m≥1,n≤1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。
例如,153的各位数字的立方和是13+53+33 =153。
【输入形式】
从键盘输入两个正整数m和n。
【输入输出样例1】(下划线部分表示输入)
Input m: 100
Input n: 400
153
370
371 展开
1个回答
展开全部
#include <stdio.h>
int main()
{
int m,n,i,k,t,sum;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;++i)
{
t=i;
sum=0;
while(t)
{
k=t%10;
sum+=k*k*k;
t/=10;
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
int main()
{
int m,n,i,k,t,sum;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;++i)
{
t=i;
sum=0;
while(t)
{
k=t%10;
sum+=k*k*k;
t/=10;
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询