超时求改

做此题,超时了六个点...

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 条评论

  • @ 2012-10-14 09:35:50

    求约数的和还可以更优

    求i的约数可以只枚举到sqrt(i)。

    因为如果i有一个约数d>sqrt(i),那么i/d一定

  • 1

信息

ID
1216
难度
5
分类
模拟 点击显示
标签
(无)
递交数
2685
已通过
891
通过率
33%
被复制
8
上传者