- #include <stdio.h>
- #include <math.h>
- int main()
- {
- /*三位水仙花数
- 概念:若三位数ABC满足ABC=A^3+B^3+C^3,则称为三位水仙花数。例如153=1^3+5^3+3^3,所以 153是水仙花数
- 实现步骤:
- 1. 输入两个数,表示区间[a,b],由于求解的是三位的水仙花数,所以a>=100,b<=999,且b>a
- 2. 实现算法,设数num,分解百位,十位,个位,然后各三次方相加,看是否和等于数num
- 3. 输出水仙花数
- 这里需要引入一个方法pow(int x,int y) 要包含math.h头文件
- 实例:
- double x=2.0,y=3.0;
- printf("%lf的%lf次方是:%lf\n",x,y,pow(x,y));
- 打印出:2.000000的3.000000次方是:8.000000
- */
-
- //1 声明百位 十位 个位
- int bai,shi,ge;
- int num;
- //2 实现算法
- for(num=100;num<=999;num++)
- {
- //2.1 百位、十位、个位分解
- bai = num/100;
- shi = num/10%10;
- ge = num%10;
- //2.2 判断算法
- if(num == pow(bai,3)+pow(shi,3)+pow(ge,3))
- {
- printf("%d\n",num);
- }
- }
- return 0;
- }
复制代码 |
|