黑马程序员技术交流社区
标题:
玩转三位水仙花数
[打印本页]
作者:
Wangyk
时间:
2016-5-6 23:22
标题:
玩转三位水仙花数
#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;
}
复制代码
作者:
nlfdnxb
时间:
2016-5-11 22:50
学习了,继续加油!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2