算法描述:
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数。(153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 )
输出格式:
打印所有水仙花数,两数中间用空格隔开。
程序代码:
#include<stdio.h>
#include<cmath>
int main(){
for(int i=100;i<1000;i++) {
int a,b,c;
a=i%10;//求出个位
b=i/10%10;//求出十位
c=i/100; //求出百位
if(pow(a,3)+pow(b,3)+pow(c,3)==i){
printf("%d ",i);
}
}
return 0;
}
运行结果:
153 370 371 407
补充:
pow()函数是存放在math库中用于求次幂(次方)的函数,pow(x,y)表示x的y次方。其语法原型如下:
double pow(double x,double y);
其返回值和形参都是double类型。例如,求2的3次方如下:
程序代码:
#include<stdio.h>
#include<cmath>
int main(){
int x=2,y=3;
printf("%lf\n",pow(x,y));
return 0;
}
运行结果:
8.000000
形参可以是整数,但返回值必定是double类型。