#include <stdio.h> int narcissistic(int number) { int a, b, c; a = number % 10; b = number / 10 % 10; c = number / 100; if (a * a * a + b * b * b + c * c * c == number){ return 1; } else{ return 0; } } void print_n(int m, int n) { int j = 0,a[100]; for (int i = m+1;i <= n;i++) { if (narcissistic(i) == 1) { a[j] = i; j++; } }for (int k = 0;k < j;k++) { printf("%d", a[k]); if (k != j - 1) { printf("\n"); } } } int main() { int m, n; scanf("%d%d", &m, &n); if (m >= 100 && n <= 10000 && m <= n) { print_n(m, n); } return 0; }
时间: 2024-04-04 21:07:02 浏览: 87
#include <stdio.h>
4星 · 用户满意度95%
这段代码是一个求出 m 到 n 之间的所有水仙花数的程序。水仙花数指一个三位数,其各位数字的立方和等于该数本身。该程序通过定义两个函数,一个用来判断一个数是否是水仙花数,另一个用来输出 m 到 n 之间的所有水仙花数。在主函数中,程序首先读入 m 和 n 的值,然后判断是否满足条件(m >= 100 && n <= 10000 && m <= n),如果满足条件,则调用 print_n 函数来输出 m 到 n 之间的所有水仙花数,否则程序结束。
阅读全文