(№1) Для решения первого задания воспользуемся циклом for:
for i in range(10000):
x = i
a = 0
b = 0
while x > 0:
a = a + 1
b = b + x % 10
x = x // 10
if a == 3 and b == 11:
print(i)
На выходе мы получим множество чисел. Последнее из них - и есть максимальное число.
Ответ: 920
(№2) Начнём с того, что наш Исполнитель прибавляет и умножает число, которое мы даём на входе, а значит если число на выходе больше числа,
которое должно получиться, значит таких путей не существует. Если же число, которое мы ввели н входе эквивалетно числу, которое мы должны
получить, то у нас есть только 1 путь. Интерпретируем эти слова на язык программы:
def f(a, b):
if a > b: return 0
if a == b: return 1
x = f(a + 1, b)
y = f(a * 2, b)
return x + y
print(f(5, 18))
Ответ: 6
(№3) Перенесём наши значения в Excel для простоты. Наш Сладкоежка может перемещаться как вправо, так и вниз. Построим таблицу с помощью следующей
формулы:
=B2+МАКС(B7;A8)
Вправо-нижнем углу и есть наш ответ - 21 конфету может собрать наш Сладкоежка.
(№4) Есть 2 метода решения данной задачи - аналитический и программный. Начнём с программного: воспользуемся встроенной библиотекой в Python, именованной itertools:
from itertools import product
k = 0 # Счётчик слов
for x in product('КРАН', repeat=4):
k += 1
print(k)
На наш экран выведет чудесное число 256, которое и является ответом на данную задачу, однако мы могли поступить проще: мы можем заметить, что всего используется 4 различных буквы. Длина нашего слова тоже 4. На каждом месте может быть одна из 4 букв, а значит умножив 4 раза по 4:
4 * 4 * 4 * 4 = 256
Мы получим количество возможных слов.
Надеюсь, моё решение помогло. Если у Вас остались вопросы, смело задавайте их под моим комментарием.