题解 | #水仙花数#
水仙花数
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; }