用 REPEAT语句编程找出所有正整数(三位数)中的水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:02:02
用Pascal语言,如:1 5 3=1*1*1+5*5*5+3*3*3.那么1 5 3就是水仙花数。

var i,a,b,c:integer;
begin
i:=100;
repeat
a:=i div 100;
b:=i div 10 mod 10;
c:=i mod 10;
if i=a*a*a+b*b*b+c*c*c then write(i:8);
until i>999;
end.

var i,k:longint;
s:string;
a:array[0..5] of integer;
begin
for i:=100 to 999 do
begin
str(i,s);
if (ord(s[1])-48)*(ord(s[1])-48)*(ord(s[1])-48)+(ord(s[2])-48)*(ord(s[2])-48)*(ord(s[2])-48)+(ord(s[3])-48)*(ord(s[3])-48)*(ord(s[3])-48)=i
then begin a[k]:=i;k:=k+1;end;
end;
for i:=0 to 2 do
write(a[i],' ');
writeln(a[3]);
end.