Предмет: Информатика, автор: 200269

Сегодня на уроке информатики рассказывали про то, как получать все простые числа, не превосходящие заданного числа, с помощью метода, который называется решето Эратосфена. Метод заключается в следующем: пусть мы хотим найти все простые числа от 2 до 100. Выпишем числа от 2 до 100, затем возьмем первое число (2), его оставим, а все остальные делящиеся на 2 числа вычеркнем. Затем возьмем первое невычеркнутое число, отличное от 2, это 3. Его оставим, а все остальные еще невычеркнутые и делящиеся на 3 вычеркнем. Затем опять возьмем первое невычеркнутое число, отличное от 2 и 3, это 5, его оставим, а все остальные еще невычеркнутые и делящиеся на 5 вычеркнем. И так далее. В итоге останутся невычеркнутыми только простые числа. Игорю этот метод очень понравился и он решил с его помощью найти все простые числа, не превосходящие 954530. Какое число он вычеркнет последним? Считаем, что каждое число может быть вычеркнуто ровно один раз. То есть, если 30 вычеркнули как делящееся на 2, то вычеркнуть его же как делящееся на 3 мы уже не можем.

Ответы

Автор ответа: Alphaeus
0

Program Resheto;

const n=954530;

var i,j,last,k:integer;

   b:array[1..n] of boolean;

begin

 for j:=1 to n do b[j]:=true; ///сначала все числа не вычеркнуты

 b[1]:=false; ///единицу вычеркиваем сразу

 i:=2;k:=0; ///k - количество найденных простых чисел

 while i*i<=n do

 begin

   for j:=i+1 to n do  

   begin

     if (b[j]) then ///если число уже вычеркнуто,то ничего не делаем

     begin

       if (j mod i=0) then begin last:=j; b[j]:=false; end; ///если число делится,то запоминаем его в last и вычеркиваем из решета

     end;  

   end;

   inc(i);

 end;

 for j:=2 to n do if b[j] then inc(k); ///считаем количество

 writeln; writeln('Последнее вычеркнутое: ',last);writeln('Найдено простых чисел: ',k);

 for j:=2 to n do if b[j] then write(j,' '); ///выводим все простые числа через пробел

end.

Приложения:
Похожие вопросы
Предмет: Русский язык, автор: tisha0102030405
«Разряды имён прилагательных по значению»
1. Укажите постоянные морфологические признаки имени прилагательного:
А) разряд по значению;
Б) падеж;
В) род;
Г) синтаксическая роль в предложении.
2. Укажите верное утверждение:
Прилагательное, обозначающее признак предмета по принадлежности, отвечающее на вопрос чей?,называется
А) качественным;
Б) относительным;
В) притяжательным.
3. Укажите прилагательные соответствующего разряда:
1. качественные прилагательные:
А) февральское небо;
Б) успешная поездка;
В) бархатный плед;
Г) узкий мост.
2) относительные прилагательные:
А) гипсовая скульптура;
Б) неяркий свет;
В) отрывной календарь;
Г) игровое пространство.
3) притяжательные прилагательные:
А) мамина юбка;
Б) лисья нора;
В) сельская местность;
Г) бирюзовое платье.
4. В каком ряду все имена прилагательные качественные?
А) таинственный шёпот, жаркий день, верблюжий горб;
Б) золотистый оттенок, овечья шкура, папин кабинет;
В) молчаливый старик, тихий вечер, звонкий ручей;
Г) глинистый берег, вечерний закат, сестрина комната.
5. Определите разряд прилагательных:
А) звонкий голос – ___________; Г) виноградный сок – ____________ ;
Б) лисий хвост - ______________ ;Д) весенний день – ________________;
В) высокий мальчик– _________; Е) мамина шуба – ___________________.
6. Определите качественные прилагательные
А) большое яблоко;
Б) деревянный стол;
В) тёплое молоко;
Г) дедушкин шарф.
7.Определите относительные прилагательные
А) детский сад;
Б) загорелый малыш;
В) утренний туман;
Г) Серёжина книга.
8. Определите притяжательные прилагательные
А) добрый человек;
Б) пятиэтажный дом;
В) мамино платье;
Г) волчьи следы.