输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=1³+5³+3³。

用for语句写输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=1³+5³+3³。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 与春风 2021-10-18 16:31关注
仅供参考,明确思路,自己敲代码
#include <stdio.h> int main() { int start, end, i = 0, a, b, c, size = 0; while (scanf("%d %d", &start, &end) == 2) { for (i = start; i <= end; i++) { a = i / 100; b = i / 10 % 10; c = i % 10; //total = pow(c, 3) + pow(a, 3) + pow(b, 3); if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花条件 { if (size == 0) //size=0输出第一个水仙花数 { printf("%d", i); } else //size++输出第二。。第n个水仙花数 { printf(" %d", i); } size++; //个数++; } } if (size == 0) //范围内个数为0,则说明没有满足条件的 { printf("no"); } printf("\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1