水仙花数,首先要搞明白什么是水仙花数,举个例子:
153=1*1*1+5*5*5+3*3*3
一句话总结,水仙花数就是:本身的个位、十位、百位分别3次方的和。
所以水仙花数只能是三位的数值,100~999
#include<stdio.h>
int main()
{
/*
水仙花,什么叫水仙花数。例子:153=1*1*1+5*5*5+3*3*3
水仙花数的个位、十位、百位分别3次方的和
*/
int x,y,z,i;
puts("水仙花数有:");
for(i=100;i<1000;i++)
{
z=i%10;
y=i/10%10;
x=i/100%10;
if(x*x*x+y*y*y+z*z*z==i)
{
printf("%d ",i);
}
}
return 0;
}
怎么取XXX的个位数、十位数、百位数,(难点)
123的个位:123%10余3
123的十位:12%10余2 (12=123/10)
123的百位:1%10余1 (1=123/100)
结果输出