解题思路:
水仙花数是3位整数,所以判断区间是包含100~999之间
注意事项:
水仙花数是各个位数的三次方之和等于它本身
参考代码:
#include <stdio.h> #include <math.h> int judge_narcissistic(int num[]) { int a, b, c; for (int i = 100, j = 0; i < 1000; i++) { a = i / 100; b = i / 10 % 10; c = i % 10; if (i == pow(a, 3) + pow(b, 3) + pow(c, 3)) num[j++] = i; // 当满足水仙花数时将值存储在数组num中,从num[0]开始存储 } return 0; } int main() { int num[10] = {0}; // 初始化数组,用于接收水仙花数 judge_narcissistic(num); for (int i = 0; num[i] != 0; i++) // 输出水仙花数,数组中为0的元素不输出 { printf("%d\n", num[i]); } return 0; }
0.0分
0 人评分