问题描述
输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。
问题分析
根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。
#include<stdio.h> int power(int n, int k) {if (k == 0){return 1;}else{return n * power(n, k - 1);} } int count(int num) {int count=0;while (num){num = num / 10;++count;}return count; } int sum(int num, int count) {if (num == 0)return 0;elsereturn power(num % 10, count) + sum(num / 10, count); } int main() {printf("1---10000中水仙花数有: ");for (int num = 1; num <= 10000; ++num){if (sum(num, count(num)) == num){printf("%d ", num);}}printf("nnn");return 0; }
123456789101112131415161718192021222324252627282930313233343536373839404142相关知识
C语言:输出所有的水仙花数
1028: 判断水仙花数(C语言)
vs水仙花数c语言代码,求水仙花数c语言代码怎么写
C语言:PAT练习:水仙花数( T & F)
水仙花数,C语言
水仙花数C语言代码优化
判断一个数是否为水仙花数 (C语言)
【C语言】求水仙花数(完整代码)
C语言3位~7位水仙花数(加强版)
C语言编写水仙花数
网址: c语言输出水仙花数 https://m.huajiangbk.com/newsview467261.html
上一篇: C语言实现水仙花数 |
下一篇: Java编程练习3——求水仙花数 |