求两题Free Pascal程序,急需!!

如果a和a+2都是素数(如5和7),那么就称a和a+2是一对孪生素数,求100内的所有孪生素数。(求素数用Function)
自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而b的因子之和又等于a,则称a,b为“亲和数”。求二位数中最小的一对亲和数,如果没有则输出“No find”(用procedure求亲和数)
————————————————————————————————
请高手帮忙,今晚就要

第一题:
var i:integer;
function ok(a:integer):boolean;
var i:integer;
begin
for i:=2 to trunc(sqrt(a)) do
if a mod i=0 then exit(false);
exit(true);
end;
begin
for i:=3 to 89 do
if ok(i) and ok(i+2) then
writeln(i,' ',i+2);
end.

第二题:
procedure ok(a,b:integer);
var i,j,a2,b2:integer;
begin
for i:=1 to trunc(sqrt(a)) do
if a mod i=0 then inc(a2,i);
for i:=1 to trunc(sqrt(a)) do
if b mod i=0 then inc(b2,i);
if (a2=b)and(b2=a) then begin
writeln(a,' ',b);
halt;
end else
if a=99 then begin
writeln('No find');
halt;
end else if b=99 then ok(a+1,1)
else
if a=b-1 then
if b+2<100 then ok(a,b+2)
else ok(a+1,1)
else ok(a,b+1);
end;
begin
ok(1,2);
end.
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜