水仙花数定义:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。
例如: 153 = 1^3 + 3^3 + 5^3
方法一:
#include <stdio.h>
int main()
{
int i; //定义一个整数,用来表示100-999之间的数
int a,b,c; //定义三个分别用来个位 、 十位 和 百位的数字
for(i=100;i<1000;i++)
{ //利用运算特征求出数字的百位数、十位数以及个位数
a = i / 100;
b = (i/10)%10;
c = i % 10;
//设置一个条件语句来判断该数是否为水仙花数,若是则输出
if(i == a*a*a + b*b*b +c*c*c) //温馨提示:一定是“==”表示判断,不要只输入"=" "="表示赋值哦
printf("%d\n",i);
}
return 0;
}
方法二:
#include<stdio.h>
int main(int argc, const char *argv[])
{ //使用a、b、c遍历出所有的3位数
int a,b,c;
for(a=1;a<=9;a++)//a表示百位数,b表示十位数,c表示个位数
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
{
printf("%d\n",a*100+b*10+c);
}
}
}
return 0;
}
输出结果如下所示:
希望各位大佬多多指导!!!!