输入两个3位的正整数m,n,输出[m,n]区间内所有的“水仙花数”。
每组测试输入两个3位的正整数m,n(100≤m<n≤999)
输入:
100 150
100 200
输出:
none
153=111+555+333
供参考:
#include<stdio.h>
int main() {
int flg, a, b, i, k, t, s[3];
while (scanf("%d%d", &a, &b) == 2 && a != 0 && b != 0)// 输入 0 0 时结束输入
{
for (i = a, flg = 0; i <= b; i++) {
t = i; k = 0;
while (t != 0) {
s[k++]= t % 10;
t /= 10;
}
t = s[0] * s[0] * s[0] + s[1] * s[1] * s[1] + s[2] * s[2] * s[2];
if (i == t) {
flg = 1;
printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n", i,
s[2],s[2],s[2],s[1],s[1],s[1],s[0],s[0],s[0]);
}
}
if (!flg)
printf("none\n");
}
return 0;
}