什么是水鲜花数:
“水仙花数”是指一个三位数,其每位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
代码:判断这个数是不是水仙花数?
#include<stdio.h>
#include<math.h>
int main(){
int n;
int a,b,c;
scanf("%d",&n);
while(n<=999){
a=n/100;//百位
b=n/10%10;//十位
c=n%10;//个位
if(pow(a,3)+pow(b,3)+pow(c,3)==n)
printf("%d是水鲜花数\n",n);
else
{
printf("%d不是水仙花数\n",n);
}
break;
}
return 0;
}
//注意,再使用的时候需要用-lm指令调用math.h
列举所有的水仙花数:
#include<stdio.h>
int main(){
int n = 100;
int a,b,c;
while(n<=999){
a=n/100;
b=n/10%10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d\n",n);
n++;
}
return 0;
}
方法二:
#include<stdio.h>
int main(){
for(int i=100;i<=999;i++){
int a=i/100;
int b=i/10%10;
int c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d\n",i);
}
return 0;
}