Рубрика «ЕГЭ Задание 25»
ЕГЭ информатика 25 задание разбор, теория, как решать.
Создание программы для обработки целочисленной информации, (В) — 2 балла
Е25.24 сумма делителей которых соответствует маске *7?
18.06.2023 ЕГЭ Задание 25 Администратор Комментарии: 0
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Найдите первые пять чисел, больших 500 000, сумма делителей …
Е25.23 найдите все числа, соответствующие маске 12??36*1, делящиеся на 273 без остатка
01.05.2023 ЕГЭ Задание 25 Администратор Комментарии: 0
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, …
Е25.22 которые соответствуют маске 1?7246*1 и при этом без остатка делятся на 4173
12.03.2023 ЕГЭ Задание 25 Администратор Комментарии: 0
Маска числа – это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр. Пример. Маске 123*4?5 соответствуют числа 123405 и 12376415. Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1?7246*1 и при этом без …
Е25.21 соответствующие маске 1?2139*4, делящиеся на 2023 без остатка
26.12.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, …
Е25.20 M(k) нельзя представить в виде произведения трёх различных натуральных чисел
11.05.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Пусть M(k) = 9 000 000 + k, где k – натуральное число. Найдите пять наименьших значений k, при которых M(k) нельзя представить в виде произведения трёх различных натуральных чисел, не равных 1. В ответе запишите найденные значения k в порядке возрастания. чно. Открытый вариант ИНФОРМАТИКА КИМ ЕГЭ 2022 — задание №25
Е25.19 найдите все числа, соответствующие маске 12345?7?8, делящиеся на число 23 без остатка.
29.04.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задаватьи пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие …
Е25.18 Пусть М — сумма минимального и максимального натуральных делителей целого числа
28.02.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Пусть М — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение М считается равным нулю. Напишите программу, которая перебирает целые числа, большие 220 000, в порядке возрастания и ищет среди них такие, для которых значение М оканчивается на 4. Выведите первые …
Е25.17 Пусть M(N) – пятый по величине делитель натурального числа N без учёта самого числа и единицы
17.02.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Пусть M(N) – пятый по величине делитель натурального числа N без учёта самого числа и единицы. Например, M(1000) = 100. Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M(N) = 0. Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M(N) > 0. В ответе …
Е25.16 10 простых чисел наиболее приближенные к числу 10000000
26.01.2022 ЕГЭ Задание 25 Администратор Комментарии: 0
Напишите программу, которая находит 10 простых чисел наиболее приближенные к числу 10000000 (10 миллионов). Причем 5 найденных чисел должны быть меньше заданного числа, остальные 5 чисел-больше. Найденные числа расположите в порядке возрастания. В качестве ответа выведите пары чисел — расстояние от найденного числа до 10000000 и само число. Например, для числа 50 ответ должен быть …
Е25.15 Пусть M (N) – сумма двух наибольших различных натуральных делителей
22.12.2021 ЕГЭ Задание 25 Администратор Комментарии: 0
Пусть M (N) – сумма двух наибольших различных натуральных делителей натурального числа N, не считая самого числа. Если у числа N меньше двух таких делителей, то M (N) считается равным 0. Найдите 5 наименьших натуральных чисел, превышающих 12 000 000, для которых 0 < M (N) < 10 000. В ответе запишите найденные значения M …
ЕГЭ по информатике 2023 — Задание 25 (Делимость чисел)
Всем привет! Добрались мы до 25 задания из ЕГЭ по информатике 2023.
Рассмотрим типовые задачи, а так же новые формулировки 25 задания из ЕГЭ по информатике 2023.
Приступаем к первой классической задаче.
Задача (ЕГЭ по информатике, Демо 2022)
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М. Строки выводятся в порядке возрастания найденных чисел.
Количество строк в таблице для ответа избыточно.
На ЕГЭ по информатике 2023 удобно писать программы на языке Python.
count=0 for i in range(700001, 800000): m=0 a=[] for j in range(2, int(i**0.5)+1): if i%j==0: a.append(j) b=i//j if j!=b: a.append(b) if len(a)>=1: a.sort() m=a[0]+a[-1] if m%10==8: print(i, m) count = count + 1 if count == 5: break
В данной программе перебираются числа в цикле for, начиная с 700001.
Для каждого числа i заводим искомую переменную m и список a, где будем хранить все делители этого числа, не считая 1 и самого числа. Затем, с помощью ещё одного цикла for перебираются числа с 2 до корня числа i (включительно).
Если до корня числа включительно не встретился ни один делитель, значит, у числа нет делителей, кроме 1 и самого числа.
Пусть у нас есть число A. Если у этого числа есть делитель d1, то он находится до корня этого числа (или равен корню числа). А вот то число (так же делитель d4), на которое умножается d1, чтобы получить A, будет находиться после корня A (или равен корню).
Получается, что у каждого делителя есть своя пара. У единицы — это само число. Причём, один делитель из пары находится до корня, другой после корня. Исключением будет тот случай, когда из числа А извлекается целый корень. Тогда для этого корня не будет пары (парой и будет само это число √A * √A = A).
Таким образом, нам достаточно пройтись до корня числа включительно, чтобы найти все делители числа i. Мы идём от 2, значит, единица и само число не рассматривается.
Если переменная j является делителем, то мы её заносим в список a. Сразу ищем «брата» b делителя j. Если «брат» b и переменная j не равны друг другу (равны они могут быть, если из числа i извлекается корень, например 16 = 4*4), то заносим переменную b так же в список a. Нет смысла заносить в список a одинаковые делители.
После того, как закончился цикл j, в списке a будут все делители числа i, кроме единицы и самого числа.
Если там есть хотя бы один делитель, то, значит, имеется максимальный и минимальный делитель. Мы сортируем список a, чтобы все делители были в порядке возрастания, т.к. изначально они не были упорядочены.
Находим число m. Это сумма максимального и минимального делителя. Первый элемент a[0] — это минимальный делитель. Последний элемент a[-1] — это максимальный делитель.
Если число, m подходит по условию, то мы печатаем число i и m.
Счётчик count нужен, чтобы распечатать первые пять чисел.
700005 | 233338 |
700007 | 100008 |
700012 | 350008 |
700015 | 140008 |
700031 | 24168 |
Напишите программу, которая перебирает целые числа, большие 550 000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом.
Программа должна найти и вывести первые 6 таких чисел и соответствующие им значения упомянутых делителей.
Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.
Например, для числа 105 наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 — простое число, а для числа 13 такого делителя не существует.
Здесь мы ищем наибольший делитель числа, как и в прошлом решении.
def Pr(x): for i in range(2, int(x**0.5)+1): if x%i==0: return False return True count=0 for i in range(550001, 1000000): a=[] for j in range(2, int(i**0.5) + 1): if i%j==0: a.append(j) b=i//j if j!=b: a.append(b) if len(a)>=1: a.sort() if not(Pr(a[-1])): count=count+1 print(i, a[-1]) if count==6: break
Чтобы проверить число, является ли оно простым, напишем функцию Pr(). Там мы проходим до корня числа. Если не встретился не один делитель, значит, число простое — возвращаем True. Если до корня хотя бы один делитель встретили — возвращаем False.
Остальное похоже на предыдущую задачу.
550002 | 275001 |
550004 | 275002 |
550005 | 183335 |
550008 | 275004 |
550010 | 275005 |
550011 | 183337 |
Задача (Ровно 4 различных делителя)
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [258274; 258297], числа, имеющие ровно 4 различных делителя. Выведите для каждого найденного числа два наибольших делителя в порядке возрастания.
import math for i in range(258274, 258298): a=[] for j in range(1, int(math.sqrt(i))+1): if i%j==0: a.append(j) b=i//j if j!=b: a.append(b) if len(a)==4: a.sort() print(a[2], a[3])
Здесь для каждого числа 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] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.
import math for i in range(4234679, 10157813): if int(math.sqrt(i))**2 == i: a=[] for j in range(2, int(math.sqrt(i))+1): if i%j==0: a.append(j) b=i//j if j!=b: a.append(b) if len(a)==3: a.sort() print(i, a[2])
Как у нас могут быть три различных нетривиальных делителя, когда делители идут, как мы выяснили, парами? Это может быть, когда существует целый корень из этого числа. Тогда в паре два числа будут одинаковыми (√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.
i=12347 #Вместо звёздочки ноль разрядов if i%141==0: print(i, i//141) #Вместо звёздочки один разряд for x in '0123456789': s = '1234' + x + '7' i=int(s) if i%141==0: print(i, i//141) #Вместо звёздочки два разряда for x in '0123456789': for y in '0123456789': s = '1234' + x + y + '7' i=int(s) if i%141==0: print(i, i//141) #Вместо звёздочки три разряда for x in '0123456789': for y in '0123456789': for z in '0123456789': s = '1234' + x + y + z + '7' i = int(s) if i%141==0: print(i, i//141)
Таким образом, нужно рассмотреть, когда вместо звёздочки ноль разрядов, один разряд, два разряда и три разряда.
Каждый разряд перебираем как цифры (символы). Формируем строку s, а затем её переводим в тип int.
Когда два разряда или три разряда нужно перебирать строку с помощью вложенных циклов.
Второй способ через fnmatch
Функция fnmatch() модуля fnmatch проверяет, соответствует ли строка имени файла шаблонной строке, возвращая True или False .
from fnmatch import * s = ['Привет','пакет','приток','перемена'] for x in s: if fnmatch(x,'п*е?'): print(x,'yes') else: print(x,'no')
Строки Привет и пакет соответствуют шаблону (маске) п*е?
* — это любая группа символов (в том числе пустая)
? — ровно один любой символ (пустоты быть не может)
from fnmatch import * for i in range(141, 10**8+1, 141): if fnmatch(str(i), '1234*7'): print(i, i//141)
1234737 | 8757 |
12341307 | 87527 |
12342717 | 87537 |
12344127 | 87547 |
12345537 | 87557 |
12346947 | 87567 |
12348357 | 87577 |
12349767 | 87587 |
ЕГЭ информатика 25 задание(python). Что не так в моей программе?
Задание:
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [312614; 312651], числа, имеющие ровно шесть различных натуральных делителей. Для каждого найденного числа запишите эти шесть делителей в шесть соседних столбцов на экране с новой строки. Делители в строке должны следовать в порядке возрастания.
Например, в диапазоне [12; 15] ровно шесть различных натуральных делителей имеет число 12, поэтому для этого диапазона вывод на экране должна содержать следующие значения:
a = 312614 b = 312651 for i in range (a, b): ds = [] for d in range (1, i): if (i % d == 0): ds.append(d) if len(ds) > 6: break if (len(ds) == 6): print (ds[0], ds[1], ds[2], ds[3], ds[4], ds[5])
1 3 9 34739 104217 312651
Не знаю в чем причина. До этого абсолютно идентичная программа только с другими числами выводила все на ура
- Вопрос задан более трёх лет назад
- 10116 просмотров
1 комментарий
Простой 1 комментарий
ЕГЭ по информатике (2024)
Здесь представлены материалы для подготовки к ЕГЭ по информатике. В отличие от известной литературы, для большинства задач из демо-вариантов ЕГЭ сравниваются несколько способов решения, анализируются их достоинства и недостатки, возможные проблемы и «ловушки». Приведены рекомендации, позволяющие выбрать эффективные методы решения каждой конкретной задачи.
Автор признателен О.А. Тузовой (г. Санкт-Петербург) за обсуждение этих материалов и конструктивную критику. Спасибо всем, кто присылал и присылает мне замечания, предложения, сообщения об опечатках и неточностях.
Особая благодарность Н.Н. Паньгиной (г. Сосновый Бор) за взаимовыгодное сотрудничество и разностороннюю поддержку проекта.
Автор будет благодарен за новые отзывы по поводу представленных здесь материалов для подготовки к ЕГЭ по информатике. Если вы заметили ошибку или у вас просто есть что сказать по существу вопроса, пишите.
Тренажёр компьютерного ЕГЭ
ЕГЭ по информатике в 2024 году будет проводиться в компьютерной форме. На этом сайте вы можете попробовать, как это будет выглядеть в тренажёре. Он является копией официального тренажёра официального тренажёра , но позволяет загружать любой вариант из генератора. Кроме того, после завершения пробного экзамена вы узнаете, сколько баллов вы набрали бы на ЕГЭ, если бы отправили такие ответы. Попробуйте:
Авторские семинары
Если вы хотите пригласить авторов учебника в свой город для проведения выездного семинара, пишите.
Робот-Blockly
Робот-Blockly — это версия исполнителей Робот и Водолей, программы для которых составляются из готовых блоков, как в Scratch. Это избавляет учеников от синтаксических ошибок, которые неминуемо возникают при ручном наборе текстовой программы. Программа подходит для вводного курса алгоритмизации в 5-6 (и даже более старших) классах. У программы есть оффлайн-версия, которую можно использовать без доступа к Интернету. Вы можете создавать свои наборы задач, а не только использовать готовые. |
Коллеги тащат то, что не приколочено.
Артём Имаев, который ведёт группу «FLASH: ЕГЭ информатика 2021» и предлагает всем стать супергероем вместе со ним. - Мартынов Антон Иванович, председатель предметной комиссии по информатике Ульяновской области, опубликовал представленные здесь рекомендации по решению задач части C под своим именем в официальном аналитическом отчете (Ульяновск, 2009).
Актуальные публикации
- А.Г. Гильдин, С.Г. Зайдуллина, Н.Т. Ахтямов. Методика выполнения заданий ЕГЭ по информатике на основе знаний об обработке строк на языке Python. // Педагогический журнал Башкортостана. 2023. № 2. c. 120-138.
- А.Н. Калинин. Программные методы решения задач ЕГЭ по обработке целочисленной информации (задача 25).
- В.С. Попов. Новая задача ЕГЭ по информатике № 22: решение с помощью графа // Потенциал: Математика, Физика, Информатика, № 8, 2022.
- К.Ю. Поляков. Особенности решения задач 25 и 26 в компьютерном ЕГЭ по информатике. Материалы вебинара для учителей г. Сочи, 24.03.2021.
- К.Ю. Поляков. Динамическое программирование в задачах обработки последовательностей ЕГЭ по информатике.
- К.Ю. Поляков. Задачи на анализ логических выражений в ЕГЭ по информатике. // Информатика в школе, № 9, 2019, с. 29–35.
- А.Н. Сидоров Задача 18 ЕГЭ по информатике: логическое выражение с делимостью.
- Н.Л. Конина Задачи 18 с делимостью.
- Н.И. Герасименко Задачи 18 с делителями в КИМ ЕГЭ по информатике.
- К.Ю. Поляков Линейное (и нелинейное) программирование в задаче 18 ЕГЭ по информатике (презентация).
- К.Ю. Поляков, Битовые операции в задаче 18 КИМ ЕГЭ по информатике. Часть 2.
- К.Ю. Поляков, Множества и логика в задачах ЕГЭ // Информатика, № 10, 2015, с. 38-42.
- Е.А. Мирончик. Алгебра предикатов и построение геометрических моделей на ЕГЭ по информатике // Информатика, № 3, 2019, с. 40-47.
Что еще посмотреть?
- Тренажёр для подготовки к компьютерному ЕГЭ
- Тесты для подготовки к ЕГЭ (для системы NetTest)
- Онлайн-тесты для подготовки к ЕГЭ
- Генератор тренировочных вариантов ЕГЭ
- Программное обеспечение
- Статьи, презентации
- Видеоматериалы
- Дополнительные материалы
- Материалы прошлых лет (демо-варианты, анализ, разбор задач)
- Вопросы и ответы
- Отзывы
Новости теперь и в Telegram-канале
19 ноября 2023 г.
Новые задачи для тренировки 13 (М. Ишимов).
Новые задачи для тренировки 22, 26 (Л. Шастин).
13 ноября 2023 г.
Онлайн-консультация С.С. Крылова по подготовке к ЕГЭ-2024 по информатике.
13 ноября 2023 г.
Задачи 7.127-7.133 перенемены в раздел 7-2 (кодирование звука).
12 ноября 2023 г.
Новые задачи для тренировки 13 (А. Минак).
10 ноября 2023 г.
Заменена задача 12.309 (был дубль).
8 ноября 2023 г.
Заменены задачи-дубли 4.263, 4.266 (И. Баженов).
7 ноября 2023 г.
Новые задачи для тренировки 14 (П. Финкель).
Новые задачи для тренировки 1 (И. Карпачёв).
3 ноября 2023 г.
Исправлены ответ и решение к задаче 24.215.
Приложение для ОС Android
Багрепорты, замечания, предложения можно присылать на форум.
Официальные материалы
Инструкция для участников КЕГЭ 26.04.2021 |
Материалы ФИПИ по ЕГЭ-2024 24.11.2023 |
Шкала для перевода первичных баллов в 100-балльную систему (2022 г., obrnadzor.gov.ru) 19.04.2022 |
Аналитический отчёт о результатах участников ЕГЭ 2023 года по информатика, включая методические рекомендации для учителей, подготовленные на основе анализа типичных ошибок участников ЕГЭ 2023 г. 01.10.2023 |
Открытый банк заданий ФИПИ
| Открытый банк заданий ЕГЭ на сайте fipi.ru 24.05.2023 |
| OpenFIPI — задачи из открытого банка заданий ОГЭ и ЕГЭ с группировкой по номерам заданий, теме и новизне (А. Рогов) 24.05.2023 |
Тренажёры для подготовки к компьютерному ЕГЭ (КЕГЭ)
| Тренажер для подготовки к КЕГЭ (К. Поляков) 04.10.2020 |
| Тренажер для подготовки к КЕГЭ (А. Кабанов) 06.09.2020 |
Полезные ресурсы для подготовки к ЕГЭ по информатике
| Открытый курс Алексея Кабанова 28.08.2023 |
ЕГЭ информатика 2024 | Открытый курс 28.08.2023 |
Youtube-канал Алексея Кабанова 28.08.2023 |
Youtube-канал Евгения Джобса 28.08.2023 |
Информатика с Джобсом | ЕГЭ 28.08.2023 |
Информатика ЕГЭ (Alex Danov) 28.08.2023 |
Youtube-канал Алексея Богданова (Alex Danov) 28.08.2023 |
Youtube-канал Информатик БУ 28.08.2023 |
Информатика | ЕГЭ 2024 | Вебиум (Николай Касперский) 28.08.2023 |
Youtube-канал Николая Касперского 28.08.2023 |
Youtube-канал «Информатика ЕГЭ — Школково» 28.08.2023 |
Лицензионное соглашение
Все опубликованные ниже материалы для подготовки к ЕГЭ по информатике могут быть свободно использованы в некоммерческих целях при условии сохранения авторства.
- 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
- 2) распространение неполных или измененных материалов;
- 3) включение материалов в сборники на любых носителях информации;
- 4) получение коммерческой выгоды от продажи или другого использования материалов.
Использование и скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.
Скачать все сразу
Материалы для подготовки к ЕГЭ-2024 по информатике 19.11.2023 |
Пароль к архиву — kpolyakov.spb.ru
Информация
Решения заданий 4 (Python) 26.10.2022 |