Сделать решето от 1 до 100: 1) выписать все натуральные числа от 1 до 100; 2) вычеркнуть 1; 3) подчеркнуть наименьшее из неотмеченных чисел; 4) вычеркнуть все числа, кратные подчеркнутому на предыдушем шаге; 5) если в списке имеются неотмеченные числа, то перейти к шагу 3, в противном случае все подчёркнутые числа - простые. !

2004Диана111111 2004Диана111111    2   29.06.2019 01:50    0

Ответы
Фприт Фприт  23.07.2020 06:47
Var
  i,j,n:integer;
  a:array[1..1000] of boolean;
begin
  Write('Введите верхнюю границу чисел (до 1000): ');
  Read(n);
  for i:=1 to n do a[i]:=True;
  i:=2;
  while sqr(i)<=n do begin
    j:=sqr(i);
    if a[i] then
      while j<=n do begin a[j]:=False; j:=j+i end;
    Inc(i)
  end;
  for i:=1 to n do
    if a[i] then Write(i,' ')
end.

Тестовое решение:
Введите верхнюю границу чисел (до 1000): 100
1 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика