试题描述
数512具有这样的性质,它各位数字之和的三次方正好是原数512,即512 =(5 + 1 + 2)3。
由键盘输入两个正整数m和n,请你输出m和n之间所有符合条件的数。其中m和n是两位至四位的自然数(10 <= m <= n <= 9999)。请用循环实现。
输入
输入两个正整数m和n,用一个空格隔开(10 <= m <= n <= 9999)。
输出
输出若干行,每个符合条件的数占一行。请按照从小到大的顺序输出。
输入示例
500 520
输出示例
512
数据范围
对于100%的数据,10 <= m <= n <= 9999
#include "stdio.h"
void main()
{
int m,n,x,a,b,c,d,s,h;
scanf("%d %d",&m,&n);
for(x=m;x<=n;x++)
{a=x/1000;
b=x%1000/100;
c=x%100/10;
d=x%10;
s=a+b+c+d;
h=s*s*s;
if(h==x)
printf("%d\n",x);
}
}