水仙花数定义:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。
例如: 153 = 1^3 + 3^3 + 5^3
方法一:
#includeint 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("%dn",i); } return 0; }
方法二:
#includeint 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("%dn",a*100+b*10+c); } } } return 0; }
输出结果如下所示:
希望各位大佬多多指导!!!!



