主题:求助,pascal题
631915009
[专家分:0] 发布于 2009-01-21 10:27:00
找3-1000中的亲密数对,注意不要重复显示。(如果A的因子和等于B,B的因子和等于A,且A<>B,则称A,B为亲密数对。例如284和220, 220的因子有1,2,4,5,11,20,22,44,55,110,他们和为284,284的因子有1,2,4,71 112,他们和为220。[em18]
回复列表 (共2个回复)
沙发
angwuy [专家分:2280] 发布于 2009-01-21 20:58:00
同一个贴子不要重复发两次
板凳
abcwuhang [专家分:1840] 发布于 2009-01-31 15:30:00
program game;
var a:array [3..1000] of longint;
procedure pre;
var i,j:integer;
begin
fillchar(a,sizeof(a),0);
for i:=3 to 1000 do
for j:=1 to i-1 do
if (i mod j=0) then a[i]:=a[i]+j;
end;
procedure main;
var i:integer;
used:array [3..1000] of boolean;
begin
fillchar(used,sizeof(used),false);
for i:=3 to 1000 do
if (a[a[i]]=i) and (i<>a[i]) and (not(used[i]) or not(used[a[i]])) then
begin
writeln(i,' ',a[i]);
used[i]:=true;
used[a[i]]:=true;
end;
end;
begin
pre;
main;
end.
我来回复