对于一个自然数 n,若能找到自然数 a,b .OK数来源 使得 n=a×b+(a+b),则称 n为一个OK数,如 5=1×2+(1+2),输入m,n,找出m~n之间的所有OK数的个数. OK数解法 var m,n,i,a,b,t:longint; f:boolean; begin readln(m,n); t:=0; for i:=m to n do begin f:=false; for a:=1 to i div 2 do for b:=a to i div 2+1 do if a*b+(a+b)=i then f:=true; if f then t:=t+1; end; writeln(t); readln; end. 初学者可用