Se considera matricea A[1..20,1..20]. Sa se scrie un program Pascal care formează matricea pătratică de dimensiunea n cu numere prime. Ex:
n=3
Matricea va arata asa
2 3 5
7 11 13
17 19 23
6=1+2+3
28=1+2+4+7+14
Răspunsuri la întrebare
Răspuns:
program MatriceCuPrime;
var n, i,j,num:integer;
A:array[1..20, 1..20] of integer;
function prim(m:integer):boolean;
var p, d: integer;
begin
p:=1;
d:=3;
while (d*d<=m) and (p=1) do
begin
if m mod d=0 then p:=0;
d:=d+2;
end;
prim:=p=1;
end;
begin
write('n='); read(n);
num:=2;
if (n=1) then A[1,1]:=num
else
begin
A[1,1]:=num;
num:=1;
for j:=2 to n do
begin
inc(num,2);
while not prim(num) do num:=num+2;
A[1,j]:=num;
end;
for i:=2 to n do
begin
for j:=1 to n do
begin
inc(num,2);
while not prim(num) do num:=num+2;
A[i,j]:=num;
end;
end;
end;
writeln('Matricea generata:');
for i:=1 to n do
begin
for j:=1 to n do
write(A[i,j],' ');
writeln;
end;
end.
Explicație: