Привет! Меня зовут Максим, и я хочу рассказать тебе о том, как можно написать две программы на языке Pascal, чтобы найти все простые числа от 1 до N двумя разными способами⁚ проверкой каждого числа из этого интервала на простоту и с использованием решета Эратосфена.Первый способ, который я выбрал, это проверка каждого числа из интервала на простоту. Для этого мы будем перебирать все числа от 1 до N, и для каждого числа проверять, делится ли оно на какое-либо число от 2 до корня из этого числа. Если мы не найдем такое число, то это значит, что число простое и мы его выводим. Вот код программы⁚
pascal
program PrimeNumbersCheck;
var
N, i, j⁚ Integer;
is_prime⁚ Boolean;
begin
ReadLn(N);
for i ⁚ 2 to N do
begin
is_prime ⁚ True;
for j ⁚ 2 to Trunc(Sqrt(i)) do
begin
if (i mod j) 0 then
begin
is_prime ⁚ False;
Break;
end;
end;
if is_prime then
Write(i, ‘ ‘);
end;
ReadLn;
end.Второй способ, который я предлагаю использовать, основан на решете Эратосфена. Этот метод позволяет нам найти все простые числа в интервале без необходимости проверки каждого числа на простоту.Для этого мы создаем массив чисел от 1 до N и полагаем, что все числа простые. Затем мы перебираем все числа от 2 до N, и для каждого числа обнуляем все его кратные числа в массиве. В конце мы выводим все необнуленные числа, которые останутся в массиве. Вот код программы⁚
pascal
program PrimeNumbersSieve;
var
N, i, j⁚ Integer;
is_prime⁚ array of Boolean;
begin
ReadLn(N);
SetLength(is_prime, N 1);
for i ⁚ 2 to N do
is_prime[i] ⁚ True;
for i ⁚ 2 to N do
begin
if is_prime[i] then
begin
j ⁚ i*i;
while j < N do begin is_prime[j] ⁚ False; j ⁚ j i; end; end; end; for i ⁚ 2 to N do begin if is_prime[i] then Write(i, ' '); end; ReadLn; end. Надеюсь, мои программы помогут тебе найти все простые числа от 1 до N. Удачи в программировании!