pascal三道質數習題

2022-06-07 21:25:12 字數 3189 閱讀 4288

1樓:

第一題:

var a,b,c,d:integer;

j,k,l:boolean;

begin

a:=0;

repeat

j:=true;

k:=true;

l:=true;

a:=a+1;

for b:=2 to a-1 do if a mod b=0 then j:=false;

for c:=2 to a+10-1 do if (a+10) mod c=0 then k:=false;

for d:=2 to a+14-1 do if (a+14) mod d=0 then l:=false;

until (j=true)and(k=true)and(l=true);

writeln(a);

readln;

end.

第二題:

var a,b,c,d:integer;

j,k,l:boolean;

begin

a:=0;

repeat

j:=true;

k:=true;

l:=true;

a:=a+1;

for b:=2 to a-1 do if a mod b=0 then j:=false;

for c:=2 to a+6-1 do if (a+6) mod c=0 then k:=false;

for d:=2 to a+6-1 do if (a+6) mod d=0 then l:=false;

if (j=true)and(k=true)and(l=true) then write(a:8);

until a=99;

readln;

end.

第三題:

var a,b,i,o:integer;

m,k:boolean;

begin

for a:=1 to 31 do

for b:=1 to 31 do

begin

m:=false;

k:=false;

for i:=2 to a-1 do if a mod i=0 then m:=true;

for o:=2 to b-1 do if b mod o=0 then k:=true;

if m and k then if a+b=31 then writeln(a,' ',b);

end;

end.

第一題:

var a,b,c,d:integer;

j,k,l:boolean;

begin

a:=0;

repeat

j:=true;

k:=true;

l:=true;

a:=a+1;

for b:=2 to a-1 do if a mod b=0 then j:=false;

for c:=2 to a+10-1 do if (a+10) mod c=0 then k:=false;

for d:=2 to a+14-1 do if (a+14) mod d=0 then l:=false;

until (j=true)and(k=true)and(l=true);

writeln(a);

readln;

end.

第二題:

var a,b,c,d:integer;

j,k,l:boolean;

begin

a:=0;

repeat

j:=true;

k:=true;

l:=true;

a:=a+1;

for b:=2 to a-1 do if a mod b=0 then j:=false;

for c:=2 to a+6-1 do if (a+6) mod c=0 then k:=false;

for d:=2 to a+6-1 do if (a+6) mod d=0 then l:=false;

if (j=true)and(k=true)and(l=true) then write(a:8);

until a=99;

readln;

end.

第三題:

var a,b,i,o:integer;

m,k:boolean;

begin

for a:=1 to 31 do

for b:=1 to 31 do

begin

m:=false;

k:=false;

for i:=2 to a-1 do if a mod i=0 then m:=true;

for o:=2 to b-1 do if b mod o=0 then k:=true;

if m and k then if a+b=31 then writeln(a,' ',b);

end;

end.

2樓:匿名使用者

function check(x:integer):boolean;

var i:integer;

begin

if x<=1 then begin

check:=false;

exit;

end;

check:=true;

for i:=2 to int(sqrt(x)) doif x mod i=0 then begincheck:=false;

break;

end;

end;

第一個:

i:=2;

while not(check(i) and check(i+10) and check(i+14)) do

inc(i);

writeln(i);

第二個for i:=2 to 100 doif check(i) and (check(i+6) or check(i-6)) then

writeln(i);

第三個for i:=2 to 29 do beginj:=31-i;

if (not check(i))and(not check(j)) then

writeln(i,' ',j);

end;

3樓:七一熬

看錯了,原來是程式題

一道pascal的題目,叫做選派選手,請各位大蝦幫忙理出程式,最好有簡單註釋。謝謝

給個思路吧啊 貪心法解這道題 將所有的知識水平資料從大到小排序 然後從頭掃一遍 遇見能夠參加比賽的選手就把他設定成不能再參加比賽 然後加上他在這一專案中的知識水平 由於陣列是從大到小排序的 而且一個專案可以有多個人參加 所以這種做法是正確的 用第二組輸入輸出舉例 排完序 之後是 6.0 5.0 5....

三個不同質數的積是82,這三個質數的和最大是多少?

除了2以外的質數都是奇數。如果這3個質數中沒有2,則必然是3個奇數,相加的和必然是奇數。推得必然有一個質數是2.另2個質數的和 82 2 80 要使積最大,必須使這兩個質數的積最大,也就要求這兩個質數在和一定時,儘可能相近。因此這兩個質數是 80 2 3 37,80 2 3 43 積最大 37 43...

初三數學複習題,初三數學複習題

一樣合算,平均單價都是一樣的,第一次甲的單價是x1,乙的單價也是x1,第二次甲的單價是x2,乙的單價也是x2,平均單價都是 x1 x2 2 只不過他們兩花的錢不一樣多而已。設兩次的 分別為x1和x2.平均 總的 總的質量甲的平均 100x1 100x2 100 100 x1 x2 2 p甲 乙的平均...