题解 | 水仙花数
水仙花数
https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703
#include <stdio.h>
#include <math.h>
int main()
{
int m,n;
int i,j;
int arr[10];//存储水仙花数
int has_result = 0; // 标记当前组是否有结果
int first = 1; // 标记是否是当前组的第一个结果(用于控制空格)
while((scanf("%d %d",&m,&n))!=EOF)
{
for(i = m; i <= n; i++)
{
int num = i;
int unit = (num % 100) % 10;//获取个位3
int ten = (num % 100) / 10;//获取十位5
int hundred = num / 100;//获取百位1
int sum = hundred * hundred * hundred + ten * ten * ten + unit * unit * unit;
if(i == sum)
{
has_result = 1;
if(!first)
{
printf(" ");
}
printf("%d",i);
first = 0;
}
}
if(has_result)
{
printf("\n");
}
else {
printf("no\n");
}
}
return 0;
}

