Помогите написать программу (Pascal) Заполнить массив заданной длины различными простыми числами начиная с 2. Натуральное число, большее единицы, называется простым, если оно делится только на себя и на единицу.
Answers & Comments
vladmor
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var a: array of integer; i, n, m: integer; function simple(x:integer): boolean; var i: integer; begin Simple := false; if x < 2 then exit; if x mod 2 = 0 then exit; i := 3; while i <= sqrt(x) do begin if x mod i = 0 then exit; i +=2; end; Simple := true; end;
begin write('Количество элементов массива :');readln(m); SetLength(a, m); while n <= m - 1 do begin if simple(i) then begin a[n] := i; n +=1; end; i +=1; end; a.println; end.
Answers & Comments
var
a: array of integer;
i, n, m: integer;
function simple(x:integer): boolean;
var
i: integer;
begin
Simple := false;
if x < 2 then exit;
if x mod 2 = 0 then exit;
i := 3;
while i <= sqrt(x) do
begin
if x mod i = 0 then exit;
i +=2;
end;
Simple := true;
end;
begin
write('Количество элементов массива :');readln(m);
SetLength(a, m);
while n <= m - 1 do
begin
if simple(i) then begin
a[n] := i;
n +=1;
end;
i +=1;
end;
a.println;
end.
Тестовое решение:
Количество элементов массива :25
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97