C语言第五章课后习题3:输出所有的“水仙花数”
28
Sep
0
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3
题目分析:因为在之前的章节中,有一道题是“输入一组不多于5位的正整数,要求分别输出每一位数字”。通过搜索得知求每一位的数字有公式,所以这道题就简单多了,公式分别为:
求个位:num%10
求十位:num%100/10
求百位:num%1000/100
求千位:num%10000/1000
代码如下:
1 2 3 4 5 6 7 8 9 | int c1, c2, c3; //定义个十百位 for (int i=100; i<1000; i++) //水仙花数字是三位,设定范围 { c1=i%10; c2=i%100/10; c3=i%1000/100; if (i==(pow(c1,3)+pow(c2,3)+pow(c3,3))) printf("%d\n", i); } |
结果输出 153、370、371、407
Filed Under: 职业生涯
No Comments