用C++编程:打印出所有的\ main(){int n,a,b,c;for(n=100;n;n+){a=n/100;b=n%100/10;c=n%10;if(a*a*a+b*b*b+c*c*c=n)printf(\"%d\\n\",n);}}水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。三位的水仙花数共有4个:153,370,371,407;加一下就可以了,153+370+371+407=1301你可以用程序来找到他们,比如用我会的pascal语言就是:program shuixianhuashu;vara,b,c:integer;beginfor a:=1 to 9 dofor b:=0 to 9 dofor c:=0 to 9 doif a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);end.或:program sxh;var a,b,c,d:integer;beginfor a:=100 to 999 do beginb:=a mod 10;c:=a mod 100 div 10;d:=a div 100;if b*b*b+c*c*c+d*d*d=a then writeln(a);end;end.也可用C语言:includeint main(void){int a,b,c;for(a=1;a;a+)for(b=0;b;b+)for(c=0;c;c++)if(100*a+10*b+c=a*a*a+b*b*b+c*c*c)printf(\"%d%d%d\\n\",a,b,c);return 0;}扩展资料:水仙花数又称阿姆斯特朗数。三位的水仙花数共有4个:153,370,371,407;四位的四叶玫瑰数共有3个:1634,8208,9474;五位的五角星数共有3个:54748,92727,93084;六位的六合数只有1。
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 打印出所有的来“水仙花数”,所谓源“水仙花数”是指一2113个三位数5261,其各位数字立方和4102等于该数本身。例如:1653153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main(){int i,j,k,n;printf(\"'water flower'number is:\");for(n=100;n;n+){i=n/100;分解出百位*/j=n/10%10;分解出十位*/k=n%10;分解出个位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k){printf(\"%-5d\",n);}}printf(\"\\n\");}
编写程序输出所有的水仙花数。 #includevoid main(){int a,b,c,d;for(a=100;a;a+){b=a/100;c=(a-b*100)/10;d=a%100%10;if(b*b*b+c*c*c+d*d*d=a)printf(\"水仙花数:%d\\n\",a);}}这应该是最简单的一个计算水仙花数的程序啦吧!