记录编号 12204 评测结果 AAAAAAATAE
题目名称 亲和数 最终得分 80
用户昵称 GravatarAchilles 是否通过 未通过
代码语言 Pascal 运行时间 2.983 s
提交时间 2009-09-06 11:41:46 内存使用 0.11 MiB
显示代码纯文本
var
  a,b,i,ans:longint;
function judge(x:longint):boolean;
  var i,y,t:longint;
  begin
    y:=1;
    for i:=2 to trunc(sqrt(x)) do
      if x mod i=0 then y:=y+i+x div i;

    if sqr(trunc(sqrt(x)))=x then y:=y-trunc(sqrt(x));
    t:=1;
    for i:=2 to trunc(sqrt(y)) do begin
      if y mod i=0 then t:=t+i+y div i;
      if t>x then exit(false);
    end;
    if sqr(trunc(sqrt(y)))=y then t:=t-trunc(sqrt(y));
    if (t=x)and(x<y) then exit(true);
    exit(false);
  end;
Begin
  assign(input,'amicable.in');
  assign(output,'amicable.out');
  reset(input);
  rewrite(output);
  readln(a,b);
  ans:=0;
  for i:=a to b do
    if (i mod 2=0)or((i mod 2<>0)and(i mod 5=0)) then
    if judge(i) then inc(ans);
  writeln(ans);
  close(input);
  close(output);
end.