输出100-999中的所有的水仙花数,若三位数ABC满足ABC=A3+B3+C3,则称其为水仙花数。例如153=13+53+33,所以153是水仙花数。
下面是第一种方法,将三个数字组成一个三位数再进行判断。
#include<stdio.h>
int main()
{
int a=1,b=0,c=0;
for(a=1;a<10;a++) //百位上的数
{
for(b=0;b<10;b++) //十位数上的数
{
for(c=0;c<10;c++) //个位上
{
int sum=0;
sum = a*a*a+b*b*b+c*c*c;
int num = a*100+b*10+c;
if(sum == num) //比较是否相等
printf("%d%d%d \n",a,b,c); //依次打印 数字输出的数字即为所需数字
}
}
}
return 0;
}
下面是第二种方法与第一种方法相反,是将一个三位数分开为三个数字在进行判断,最后输出结果相同。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int i,a,b,c;
for( i = 100; i <= 999; i++)
{
a = i/100;//分离出百位
c = i%10;//分离出个位
b = (i/10)%10;//分离出十位
if(i == a*a*a+b*b*b+c*c*c)//判断是否为水仙花数
printf("%d\n",i);
}
return 0;
}
以上是渣渣智的第一篇博客,写的非常不熟练,在写的过程中出了各种问题,但从今天开是要开始认真学习了,哈哈哈哈…