Есть ответ 👍

Придумайте алгоритм,находящий n-ное простое число, если n< 50

112
134
Посмотреть ответы 2

Ответы на вопрос:


Учитывая, что 50 - это немного (50-е простое число всего лишь 229), можно придумать всё что угодно (даже ужасающе неэффективное). можно просто перебирать все числа, начиная с двойки, и каждое делить на все меньшие его, начиная с двойки. если хоть на одно разделится - не простое, иначе простое. попутно подсчитывая число простых чисел, n-е найти не составит труда. псевдокод: ввод n i = 2 counter = 0 нц     для j = - 1)       если i mod j = 0 тогда           увеличить i на 1           следующая итерация внешнего цикла         увеличить counter на 1         если counter = n тогда           вывод i           завершение работы программы     увеличить i на 1 кц дальше можно изменять эту программу, оптимизировать. например, известно, что меньший собственный делитель любого составного числа не превосходит корня из этого числа, следовательно, можно во внутреннем цикле делать перебор не до i - 1, а до [sqrt(i)]. другое полезное наблюдение может заключаться в том, что все простые числа кроме 2 имеют вид 6m - 1 или 6m + 1 (остальные не подходят: очевидно, 6n делится на 6, 6n +-2 четные числа, а 6n + 3 делится на 3). это наблюдение позволит примерно в три раза сократить число итераций внешнего цикла. наконец, можно сохранять все встретившиеся простые числа в массив, и затем проверять, делится ли текущее число на простые числа, меньшие себя: если не делится, то оно - тоже простое. для хранения 50 маленьких натуральных чисел в памяти не нужно много места. можно воспользоваться каким-нибудь другим алгоритмом, например, решетом эратосфена. но в зависимости от того, на каком языке программирования будет потом реализовываться этот алгоритм, он может записываться нетривиально. для выполнения "на бумажке" решето эратосфена - один из самых удобных способов. в конце концов, можно использовать "читерский" метод - взять откуда-нибудь первые 50 простых чисел, записать их куда-нибудь, а потом просто за o(1) находить нужное число в памяти.
SekretKtoYa
4,5(99 оценок)

Усони и гали должен быть одинаковый месяц, среди указанных дат только один месяц встречается дважды, это март. у гали и кати должны совпасть числа, единственная пара равных чисел — 2 (в марте и июле). тогда день рождения гали — 2 марта, так как она входит в обе пары. значит, у сони день рождения 20 марта (оставшаяся дата в марте), у кати — 2 июля. тамаре остаётся только 17 мая.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS