program PrimeNumbers; var n, i, j, p, k: integer; isPrime: boolean; function IsPrimeNumber(num: integer): boolean; var i: integer; begin IsPrimeNumber := True; for i := 2 to round(sqrt(num)) do begin if num mod i = 0 then begin IsPrimeNumber := False; break; end; end; end; begin writeln('Введите натуральное число n:'); readln(n); writeln('Простые числа, представленные в виде 2^p - 1 меньше ', n, ':'); for i := 2 to n do begin isPrime := IsPrimeNumber(i); if isPrime then begin p := i; k := 0; while ((2 ** p) - 1) < n do begin writeln((2 ** p) - 1); k := k + 1; p := p * k; end; end; end; end.
Эта программа найдет все простые числа, которые могут быть представлены в виде 2^p-1, где p также является простым числом и меньше заданного числа n. В результате программа выведет найденные числа.
Программа на ABC Pascal:
program PrimeNumbers;var
n, i, j, p, k: integer;
isPrime: boolean;
function IsPrimeNumber(num: integer): boolean;
var
i: integer;
begin
IsPrimeNumber := True;
for i := 2 to round(sqrt(num)) do
begin
if num mod i = 0 then
begin
IsPrimeNumber := False;
break;
end;
end;
end;
begin
writeln('Введите натуральное число n:');
readln(n);
writeln('Простые числа, представленные в виде 2^p - 1 меньше ', n, ':');
for i := 2 to n do
begin
isPrime := IsPrimeNumber(i);
if isPrime then
begin
p := i;
k := 0;
while ((2 ** p) - 1) < n do
begin
writeln((2 ** p) - 1);
k := k + 1;
p := p * k;
end;
end;
end;
end.
Эта программа найдет все простые числа, которые могут быть представлены в виде 2^p-1, где p также является простым числом и меньше заданного числа n. В результате программа выведет найденные числа.