Питон 25 задание егэ как решать
Перейти к содержимому

Питон 25 задание егэ как решать

Рубрика «ЕГЭ Задание 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.

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

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

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

На ЕГЭ по информатике 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 и самого числа.

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

Пусть у нас есть число 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 такого делителя не существует.

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

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

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. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

Использование и скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.

Скачать все сразу

Материалы для подготовки к ЕГЭ-2024 по информатике 19.11.2023

Пароль к архиву — kpolyakov.spb.ru

Информация

Решения заданий 4 (Python) 26.10.2022

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

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