目录
1. 水仙花数
一种奇怪的三位数
个位数的立方 | + | 百位数的立方 | + | 十位数的立方 | = | 这个数 |
2. 找出所有水仙花数
① 表示出所有的三位数 (三重嵌套循环产生100~999) | |
②判断这个数是否符合水仙花数的要求 |
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
printf("%d ",i*100+j*10+k);
}
}
}
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%d",i*100+j*10+k);
3. 拼接法:求水仙花数
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%d ",i*100+j*10+k);
}
}
}
}
return 0;
}
4. 分割法:分别获取水仙花数个位、十位、百位上数
#include<stdio.h>
int main()
{
int x,a,b,c;
for(x=100;x<=999;x++)
{
a=x/100;
b=x/10%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
printf("%d ",x);
}
return 0;
}