- 亲和数
- 2012-10-13 11:04:58 @
做此题,超时了六个点...
var
a,b,x,y,i,j,d:longint;
begin
read(a,b);
for i:=a to b do
begin
for j:=1 to i do
if (i mod j=0)and(ij) then y:=y+j;
for j:=1 to y do
if (y mod j=0)and(yj) then x:=x+j;
if (x=i)and(x
1 条评论
-
彭天翼 LV 10 @ 2012-10-14 09:35:50
求约数的和还可以更优
求i的约数可以只枚举到sqrt(i)。
因为如果i有一个约数d>sqrt(i),那么i/d一定
- 1