Помогите сделать решето от 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


Аноним: как то не понятно
Аноним: А это уже Ваши проблемы, надо было предмет учить!
Аноним: я ожидал что вы напишите мне русским языком тем более я 6 класс, а не 7 или 8.
Аноним: и мы это не проходили
Аноним: Русским языком Вы сами написали в условии. А тут пишут или программы, или составляют алгоритмы. Вы попросили "сделать решето" - Вы его получили: программу, реализующую алгоритм "решето Эратосфена".
Аноним: Еще раз: тут не дополнительные занятия для учеников вашего класса. Это Сервис, предназначенный для выполнения заданий. Вы дали задание и получили решение в полном соответствии с написанным Вами.
Аноним: но я хотел не в таком типе. я хотел чтобы выделили числа ПОДчёркнутые и ЗАчёркнутые.
Аноним: иногда два раза зачёркнутые числа
Аноним: Вот так и пишите в следующий раз - что именно Вы хотите видеть, получать и т.д. Учитесь формулировать свои вопросы четко!
Аноним: СПАСИБО ЗА СОВЕТ!
Вас заинтересует