编写一个程序,找所有水仙花数并打印出来.水仙花数是指一个3位的正整数,其各位数字的立方和等于该数本身.

水仙花数的范围在100~999之间

第1个回答  2009-04-24
main()
{
int a,bw,sw,gw;
for(a=100;a<1000;a++)
{
bw=a/100;
sw=a%100/10;
gw=a%10;
if(a==bw*bw*bw+sw*sw*sw+gw*gw*gw)
{
printf("%d\n",a);
}
}
}
这是C语言写的我调试过了,没问题的
第2个回答  2009-05-06
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
三位的水仙花数共有4个:153,370,371,407;
加一下就可以了,

153+370+371+407=1301

你可以用程序来找到他们,比如用我会的pascal语言就是:
program shuixianhuashu;
var
a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if 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;
begin
for a:=100 to 999 do begin
b:=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语言:
#include <stdio.h>
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;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;
}本回答被网友采纳
第3个回答  2009-04-24
最简单的写法。。。
public class ckm2
{
public static void main(String aa[])
{
int a=100,x,y,z;

while(a<1000)
{
x=a/100;
y=a%100/10;
z=a%100%10;

if(a==x*x*x+y*y*y+z*z*z)

System.out.println(a);
a++;
}

}}
第4个回答  2009-05-01
program cs2;
var a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then write(a*100+10*b+c,' ');
end.

...所谓水仙花数是一个3位的正整数,其各位数字的立方和等于这个数本身...
参考代码如下:include<stdio.h> int main(){ int i,x,y,z;for(i=100;i<=999;++i){ x=i%10;y=(i%100)\/10;z=i\/100;if(x*x*x+y*y*y+z*z*z==i)printf("%d\\n",i);} return 0;}

...所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身_百度...
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。三位的水仙花数共有4个:153,370,371,407;加一下就可以了,153+370+371+407=1301 你可以用程序来找到他们,比如用我会的pascal语言就是:program shuixianhuashu;var a,b,c:integer;begin for a:=1 t...

Java编程找出所有的水仙花数(水仙花数)。
PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3 + 3^3 = 153)。参考

打印出所有的水仙花数,“水仙花数”指1个3位数,其各位数字的立方等于...
include<math.h> int main(){ int n, a;double i,b, sum;scanf("%d", &n);i = pow(10, (n - 1));while(i >= pow(10, (n - 1))&& i<pow(10, n)){ sum = 0;b = i;while (b > 0){ a = (int)b % 10;sum = sum + pow(a, 3);b = (int)b \/ 10;} ...

.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各数字立方...
include<stdio.h> main(){ int T[] = {0,1,8,27,64,125,216,343,512,729};int c = 100;int i, j, k;for(i = 1; i < 10; i++)for(j = 0; j < 10; j++)for(k = 0; k < 10; k++){ if(T[i]+T[j]+T[k] == c)printf("%d\\n",c);c++;} } ...

...所谓“水仙花数”是指一个3位数,其各位数字的立...
具体程序如下:include <stdio.h> void main(){ int i,a,b,c,count=0;\/\/count是计数器 printf("水仙花数有\\n");for (i=100;i<=999;i++){ a=i\/100; \/\/取百位数字 b=(i-a*100)\/10; \/\/取十位数字 c=i%10; \/\/取个位数字 if(a*a*a+b*b*b+c*c*c==i)\/\/如果是...

...所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身...
水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如:153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。下面是一个简单的C语言程序,用来找出所有的水仙花数:```c include int main() { int a, b, c, i;for(i = 100; i <= 999; i++) { a = i \/ ...

输出所有的水仙花数.所谓的水仙花数是指一个3位数,其各位数字立方和等于...
include "conio.h"main(){ int i,j,k,n;printf("'water flower'number is:");for(n=100;n<1000;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);} getch();} ...

...水仙花数”是指一个三位数,其各位数字的立方和等于该数本身_百度...
namespace _{ class Program { static void Main(string[] args){ Console.WriteLine("一重循环判断:");Console.WriteLine("水仙花数有:");int i,j, k, l;for (i = 100; i < 1000;i++){ j = i \/ 100;k = i %100\/10;l = i % 10;int n = j * j * j + k * k *...

打印出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方之和等...
include <math.h> int main(void) { int a, b, c;int input;for(input = 100; input <= 999; input++) { a = input \/ 100;b = (input % 100) \/ 10;c = input % 10;if(a*a*a + b*b*b + c*c*c == input)printf("%d ", input);} printf("\\n");return 0;} ...

相似回答