-
Ученик
(132)
2 недели назад
def apply_editor(s):
"""
Применяет правила редактора к строке s.
Args:
s: Исходная строка.
Returns:
Измененная строка.
"""
while '>4' in s or '>7' in s or '>3' in s:
s = s.replace('>4', '37', 1)
s = s.replace('>7', '3', 1)
s = s.replace('>3', '4374', 1)
return s
def find_min_threes(n4, n7):
"""
Находит минимальное количество цифр 3, при котором сумма цифр в итоговой строке кратна 103.
Args:
n4: Количество цифр 4.
n7: Количество цифр 7.
Returns:
Минимальное количество цифр 3.
"""
for n3 in range(1, 100): # Ограничим перебор для оптимизации
s = '>' + '4' * n4 + '7' * n7 + '3' * n3
result = apply_editor(s)
if sum(int(digit) for digit in result[1:]) % 103 == 0:
return n3
return -1 # Если решение не найдено
# Пример использования
n4 = 97
n7 = 30
result = find_min_threes(n4, n7)
print(result)