Напишите программу которая ищет среди целых чисел принадлежащих числовому отрезку
Перейти к содержимому

Напишите программу которая ищет среди целых чисел принадлежащих числовому отрезку

  • автор:

 

Напишите программу которая ищет среди целых чисел принадлежащих числовому отрезку

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \( [7178551; \,\, 7178659]\), простые числа. Выведите все найденные простые числа в порядке возрастания, слева от каждого числа выведите его номер по порядку.

Решение:

Python

Ответ:
\( 1 \,\, 7178609\)
\( 2 \,\, 7178617\)
\( 3 \,\, 7178621\)
\( 4 \,\, 7178623\)
\( 5 \,\, 7178627\)
\( 6 \,\, 7178653\)
\( 7 \,\, 7178657\)
\( 8 \,\, 7178659 \)

ЕГЭ по информатике 2023 — Задание 25 (Делимость чисел)

Всем привет! Добрались мы до 25 задания из ЕГЭ по информатике 2023.

Рассмотрим типовые задачи, а так же новые формулировки 25 задания из ЕГЭ по информатике 2023.

Приступаем к первой классической задаче.

Задача (ЕГЭ по информатике, Демо 2022)

Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.

Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M.

Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М. Строки выводятся в порядке возрастания найденных чисел.

Количество строк в таблице для ответа избыточно.

ЕГЭ по информатике демоверсия 2022 - задание 25

На ЕГЭ по информатике 2023 удобно писать программы на языке Python.

В данной программе перебираются числа в цикле for, начиная с 700001.

Переменная b — считается наибольшим делителем числа i. Затем, с помощью ещё одного цикла for перебираются числа с 2 до корня числа i (включительно). Ищем тем самым наименьший делитель.

Если до корня числа включительно не встретился ни один делитель, значит, у числа нет делителей, кроме 1 и самого числа.

ЕГЭ по информатике демоверсия 2022 - задание 25 поиск делителей

Пусть у нас есть число A. Если у этого числа есть делитель d1, то он находится до корня этого числа. А вот то число (так же делитель d4), на которое умножается d1, чтобы получить A, будет находиться после корня A.

Получается, что у каждого делителя есть своя пара. У единицы — это само число. Причём один делитель из пары находится до корня, другой после корня. Исключением будет тот случай, когда из числа А извлекается целый корень. Тогда для этого корня не будет пары (парой и будет само это число √A * √A = A).

Таким образом, первый найденный делитель будет являться наименьшим делителем. А вот делительный, который находится в паре с наименьшим делителем, будет наибольшим.

После того, как мы нашли наименьший делитель (он будет сидеть в переменной j) и наибольший делитель b, выходим из второго цикла for.

Если переменная b осталась равна нулю, то, значит, у числа i нет указанных делителей, и переменная M должна равняться 0. Если b не равна нулю, то M=j+b.

Проверить, на что оканчивается число, можно узнав остаток от деления числа на 10.

Переменная count следит, чтобы было распечатано ровно 5 чисел, которые удовлетворяют условию задачи.

Ответ:

700005 233338
700007 100008
700012 350008
700015 140008
700031 24168

Напишите программу, которая перебирает целые числа, большие 550 000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом.

Программа должна найти и вывести первые 6 таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

 

Например, для числа 105 наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 — простое число, а для числа 13 такого делителя не существует.

ЕГЭ по информатике демоверсия 2022 - задание 25

Здесь мы ищем наибольший делитель числа, как и в прошлом решении.

Чтобы проверить число, является ли оно простым, напишем функцию Pr(). Там мы проходим до корня числа. Если не встретился не один делитель, значит, число простое — возвращаем True. Если до корня хотя бы один делитель встретили — возвращаем False.

Ответ:

550002 275001
550004 275002
550005 183335
550008 275004
550010 275005
550011 183337

Задача (Ровно 4 различных делителя)

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [258274; 258297], числа, имеющие ровно 4 различных делителя. Выведите для каждого найденного числа два наибольших делителя в порядке возрастания.

Здесь для каждого числа i заводим массив a, где будем сохранять все его делители. Идём как всегда до корня. Если мы нашли делитель, мы добавляем его в массив a c помощью команды append и ищем его «брата». Второй делитель («брат») не должен равняться самому делителю j, т.к. нам сказали, что все делители должны быть различны. Одинаковые делители j и b могут получится, если из нашего числа i извлекается целый корень. Ведь для делителя √i является парой этот же делитель ( √i* √i=i).

После прохождения внутреннего цикла (с переменной j) в массиве a будут сидеть все делители числа i. Если их ровно 4, то сортируем массив a и выводим на экран два наибольших.

Ответ:

15193 258281
1427 258287
1493 258289
36899 258293
51659 258295

Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Найдите все натуральные числа, принадлежащие отрезку [4234679; 10157812] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.

Как у нас могут быть три различных нетривиальных делителя, когда делители идут, как мы выяснили, парами? Это может быть, когда существует целый корень из этого числа. Тогда в паре два числа будут одинаковыми (√i* √i = i). Поэтому в этой задаче нас интересуют числа из которых извлекается елый корень.

Если этим рассуждением не воспользуемся, то программа будет считать очень долго, потому что здесь диапазон и сами числа очень большие.

Далее, решаем, как и в прошлый раз.

Ответ:

4879681 103823
7890481 148877

Задача (ЕГЭ по информатике, 20.06.22)

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

— символ «?» означает ровно одну произвольную цифру;

— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответсвуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 10 8 , найдите все числа, соответствующие маске 1234*7, делящиеся на 141 без остатка.

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

Здесь самый главный момент заключается в том, что есть верхняя граница 10 8 . Т.е. самое большое число, которое нужно рассмотреть 1234[999]7 8 = 100000000. Нижняя граница тоже задана, когда вместо звёздочки ни одной цифры не будет 12347.

Таким образом, нужно рассмотреть, когда вместо звёздочки ноль разрядов, один разряд, два разряда и три разряда.

Каждый разряд перебираем как цифры (символы). Формируем строку s, а затем её переводим в тип int.

Когда два разряда или три разряда нужно перебирать строку с помощью вложенных циклов.

Срочно ! решить на питоне, спасибо. Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [245 690; 245 756] простые числа. Выведите на экран все найденные простые числа в порядке возрастания, слева от каждого числа выведите его порядковый номер в последовательности. Каждая пара чисел должна быть выведена в отдельной строке.

Например, в диапазоне [5; 9] ровно два различных натуральных простых числа — это числа 5 и 7, поэтому для этого диапазона вывод на экране должна содержать следующие значения:
1 5
3 7
Примечание. Простое число — натуральное число, имеющее ровно два различных натуральных делителя — единицу и самого себя.

Е25.10 принадлежащих числовому отрезку [399969; 400039] простые числа

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [399969; 400039] простые числа. Выведите на экран все найденные простые числа в порядке возрастания, слева от каждого числа выведите его порядковый номер в последовательности. Каждая пара чисел должна быть выведена в отдельной строке.

Примечание. Простое число — натуральное число, имеющее ровно два различных натуральных делителя — единицу и самого себя.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *