编写一个已知整数判断其是否是完全数的函数,并用该函数输出1000之内的所有完全数

编写一个已知整数判断其是否是完全数的函数,并用该函数输出1000之内的所有完全数
如果一个整数(>1)的各因子(包括1但不包括整数自身)之和等於该整数,称这样的整数为完全数,例如6=1+2+3所以6是完全数
tantanmx 1年前 已收到1个回答 举报

wyj200455 幼苗

共回答了16个问题采纳率:81.3% 举报

//完全数判断函数
function IsPerfectNum(i:LongInt):Boolean ;
var
sum,k:LongInt;
begin
sum:=1;
for k:= 2 to i div 2 do
if i mod k=0 then sum:=sum+k;
if i=sum then
Result:= true
else
Result:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
idx: Integer;
begin
for idx := 2 to 1000 do
begin
if IsPerfectNum(idx) then
begin
Memo.Lines.Add(IntToStr(idx));
end;
end;
end;
输出:
6
28
496

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.026 s. - webmaster@yulucn.com