Помогите сделать решето от 1 до 100: 1) выписать все натуральные числа от 1 до 100; 2) вычеркнуть 1; 3) подчеркнуть наименьшее из неотмеченных чисел; 4) вычеркнуть все числа, кратные подчеркнутому на предыдушем шаге;5) если в списке имеются неотмеченные числа, то перейти к шагу 3, в противном случае все подчёркнутые числа - простые. Очень срочно!
Ответы
Ответ дал:
0
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
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
Аноним:
как то не понятно
Вас заинтересует
11 месяцев назад
11 месяцев назад
1 год назад
6 лет назад
6 лет назад
7 лет назад