单刷潘达利亚宝藏:输出100以内15对孪生素数。(孪生素数是指两个相差为2的素数,例如:3和5)

来源:百度文库 编辑:高校问答 时间:2024/04/29 23:06:00
用Pascal语言解答

var
a:array[1..100] of integer;
i,j,k,n:integer;
bl:boolean;
begin
n:=0;
for i:=2 to 200 do
begin
bl:=true;
for j:=2 to i-1 do
if i mod j=0
then bl:=false;
if bl
then begin
n:=n+1;
a[n]:=i;
end;
end;
for i:=1 to n-1 do
if a[i+1]-a[i]=2
then writeln(a[i]:5,a[i+1]:5);
readln;
end.
100以内只有8个,应该是200以内。

var
a,b,c,d,e:longint;
g,f:boolean;
begin
for a:=2 to 100 do
begin
g:=true;
f:=true;
for b:=2 to a-1 do
if a mod b = 0 then
g:=false;
if g then
begin
for b:=2 to a-1+2 do
if (a+2) mod b = 0 then
f:=false;
end;
if g then
if f then
writeln(a,a+2:5);
end;
end.

选出100内的素数,相减来判断.