回 帖 发 新 帖 刷新版面

主题:用pascal编程 水仙花数问题

用pascal编程 水仙花数问题

回复列表 (共7个回复)

沙发

问题说清楚点,应该枚举就行了阿

板凳

穷举法...

3 楼

Begin
  for i:=1 to 9 do 
    for j:=0 to 9 do 
      for k:=0 to 9 do
        if i*i*i+j*j*j+k*k*k=i*100+j*10+k then writeln(i,j,k);
End.

4 楼

例:100-999的水仙花数
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=a*100+b*10+c
                  then write(a*100+b*10+c);
readln
end.

5 楼


   最后打印时
     不需要使用“a*100+b*10+c”
       只须使用“a,b,c”
   要不然多算了999次

6 楼

program ShuiXianHua;
var x,a,b,c:integer;
begin
  for x:=100 to 999 do
  begin
   a:=x div 100;
   b:=(x mod 100) div 10;
   c:=(x mod 100) mod 10;
   if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(x);
  end;
end.

7 楼

[quote]
   最后打印时
     不需要使用“a*100+b*10+c”
       只须使用“a,b,c”
   要不然多算了999次[/quote]
只有打印的时候才需要计算的
所以实际只多算了很有限多次
(具体多少忘了,反正不超过20)

我来回复

您尚未登录,请登录后再回复。点此登录或注册