Найти в Дзене

Разбор номера 5438 ЕГЭ по информатике #5

Оглавление

Условие: № 5438 (А. Сардарян)

На вход алгоритма подаётся два натуральных числа N и M. Алгоритм строит по ним новое число R следующим образом:

  1. Вычисляется произведение P1 всех ненулевых чётных цифр чисел N и M.
  2. Вычисляется произведение P2 всех нечётных цифр чисел N и M.
  3. Результат R вычисляется как модуль разности P1 и P2.

Например, для N = 256 и M = 108 получаем P1 = 2·6·8 = 96 и P2 = 5·1 = 5, так что R = |96 - 5|= 91. Укажите минимальное число M, при котором для N = 120 получается R = 29.

-2
def F(A):
temp = 1
for x in A:
temp *= x
return temp

for m in range(1, 1000):
n = 120
P = [int(i) for i in str(n)] + [int(i) for i in str(m)]
P1 = [i for i in P if i != 0 and i % 2 == 0]
P2 = [i for i in P if i % 2 != 0]
p1, p2 = F(P1), F(P2)
r = abs(p1 - p2)
if r == 29:
print(m)
break

Комментарий к решению задачи:

  1. def F(A): - Определяем функцию F с параметром A.
  2. temp = 1 - Инициализируем переменную temp со значением 1.
  3. for x in A: - Создаём цикл по элементам A с помощью переменной x.
  4. temp *= x - Умножаем текущее значение temp на x и присваиваем результат temp.
  5. return temp - Возвращаем значение переменной temp.
  6. for m in range(1, 1000): - Создаём цикл по диапазону от 1 до 999 с помощью переменной m.
  7. n = 120 - Присваиваем переменной n значение 120.
  8. P = [int(i) for i in str(n)] + [int(i) for i in str(m)] - Создаем список P, который содержит целочисленные значения цифр из строки n и m.
  9. P1 = [i for i in P if i != 0 and i % 2 == 0] - Создаем список P1, который содержит только не нулевые четные числа из списка P.
  10. P2 = [i for i in P if i % 2 != 0] - Создаем список P2, который содержит только нечетные числа из списка P.
  11. p1, p2 = F(P1), F(P2) - Вызываем функцию F с аргументом P1 и присваиваем результаты переменным p1 и p2.
  12. r = abs(p1 - p2) - Присваиваем переменной r абсолютное значение разности между p1 и p2.
  13. if r == 29: - Проверяем, если r равно 29.
  14. print(m) - Выводим значение переменной m.
  15. break - Прерываем цикл.

Ответ: 238

Информатика ЕГЭ | itpy 👨‍💻

Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy
Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy