题解 | #水仙花数#
水仙花数
https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703
#include <stdio.h>
int main()
{
int m[2] = { 0 };//2个范围
int n[2] = { 0 };//2个范围
int sum[2] = { 0 };//存储有多少水仙花熟
int arr[3] = { 0 };//存储数位
scanf("%d %d", &m[0], &n[0]);
//删除的scanf
for (int x = 0; x < 1; x++)//处理2次(被例子骗了,写了个无意义的循环,x从2改了1
{
for (int i = m[x]; i <= n[x]; i++)
{
int h = i;
for (int j = 0; h > 0; j++)
{
arr[j] = h % 10;
h = h / 10;
}
if (pow(arr[0], 3) + pow(arr[1], 3) + pow(arr[2], 3) == i)
{
printf("%d ", i);
sum[x] = sum[x] + 1;
}
}
if (sum[x] == 0)
{
printf("no\n");
}
else
{
printf("\n");
}
}
return 0;
}
查看10道真题和解析
腾讯云智研发成长空间 273人发布