pascal语言for如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数.求3000以内的全部亲密数.(要求:A < B )这是我
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 20:40:48
pascal语言for如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数.求3000以内的全部亲密数.(要求:A < B )这是我
pascal语言for
如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数.求3000以内的全部亲密数.
(要求:A < B )
这是我编写的程序
program Project1;
var
a,i,b,E,S:longint;
begin
for a:= 3 to 3000 do
begin
S:=0; E:=0;
for i:=1 to i-1 do
if (a mod i =0) then
S:=S+i;
for b:=1 to S-1 do
if (S mod b =0) then
E:=E+b
end;
if (a=E) and (a
pascal语言for如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数.求3000以内的全部亲密数.(要求:A < B )这是我
program Project1;
var
a,i,b,E,S:longint;
begin
for a:= 3 to 3000 do
begin
S:=0; E:=0;
for i:=1 to a div 2 do {这里原来的i-1是错了的,a-1也可,只是做了一半无用功 }
if (a mod i =0) then S:=S+i;
for b:=1 to S div 2 do
if (S mod b =0) then E:=E+b;
if (a=E) and (a