Найти в Дзене

Разбор номера 15413 #kege по информатике #ЕГЭ8

Оглавление

Автор: А.Вдовин
Уровень:
Средней

Условие задачи:

Найдите количество четырехзначных чисел в девятеричной системе счисления, в которых есть ровна одна цифра 8, а сумма цифр слева от нее равна сумме цифр справа от нее.

Примечание: если слева или справа от 8 цифр нет, то сумма считается равной нулю

Код решения:

Ответ: 64
Ответ: 64

Комментарии к коду:

  1. from itertools import *
    Импорт всех функций из модуля itertools, который предоставляет удобные инструменты для работы с итераторами
  2. cnt = 0
    Инициализация счётчика cnt, который будет хранить количество подходящих чисел
  3. for p in product('012345678', repeat=4):
    Цикл по всем возможным комбинациям длиной 4 из цифр '012345678' (включая повторы)
  4. num = ''.join(p)
    Преобразование текущей комбинации p в строку num
  5. if num[0] != '0':
    Проверка, что число не начинается с нуля (чтобы избежать ведущих нулей)
  6. if num.count('8') == 1:
    Проверка, что в числе ровно одна цифра '8'
  7. i = num.index('8')
    Нахождение индекса цифры '8' в строке num
  8. summa_left = sum(map(int, num[:i]))
    Вычисление суммы цифр слева от '8' (преобразование среза строки в числа и их суммирование)
  9. summa_right = sum(map(int, num[i+1:]))
    Вычисление суммы цифр справа от '8'
  10. if summa_left == summa_right:
    Проверка равенства сумм слева и справа от '8'
  11. cnt += 1
    Увеличение счётчика, если условие выполнено
  12. print(cnt)
    Вывод итогового количества подходящих чисел
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!