讨论 / 我的程序怎么了
你家的面包 2009-06-22 03:56:00
点我顶贴 收藏 删除
var a,b,t,i:longint;

function qh(x:longint):longint;

var j,s:longint;

begin

s:=0;

for j:=1 to x div 2 do

if x mod j=0 then s:=s+j;

qh:=s;

end;

begin

readln(a,b);

for i:=a to b do

if (qh(qh(i))=i)and(qh(i)>i) then t:=t+1;

writeln(t);

end.

竟然只过两个点,拜托大家帮帮忙吧。

#1 小小小学生@2009-06-20 07:40:00
回复 删除
这题应该要打表..
#2 hades@2009-06-22 03:56:00
回复 删除
晒程序

program sd;

var

ans:longint;

i,j,k,m,n,l,t,y:longint;

function deal(x:longint):longint;

var

i,j,k:longint;

begin

j:=1;

for i:=2 to trunc(sqrt(x)) do

if x mod i=0 then j:=j+i+(x div i);

deal:=j;

end;

begin

readln(n,m);

for i:=n to m do

begin

y:=deal(i);

if (y>i) then

begin

l:=deal(y);

if l=i then

inc(ans);

end;

end;

writeln(ans);

end.

查看更多回复
提交回复