Informatică, întrebare adresată de marcelciobanu007, 8 ani în urmă

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


boiustef: astea nu-s prime? sau sunt perfecte?
boiustef: Numărul perfect este un număr întreg egal cu suma divizorilor săi, din care se exclude numărul însuși.
boiustef: exemple de numere perfecte : 6, 28, deoarece
6=1+2+3
28=1+2+4+7+14
boiustef: Marcel, redectezi unuţul ?
boiustef: redactezi ???
marcelciobanu007: Sunt prime
marcelciobanu007: Numere care au doar 2 divizori
marcelciobanu007: 1 și numărul însuși
boiustef: se numesc prime....

Răspunsuri la întrebare

Răspuns de boiustef
0

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:

Alte întrebări interesante