с решением задачи Задача №3
В комнате 15×10 устроена раздевалка. Вдоль левой стены есть свободный проход. К правой примыкают перегородки длиной по 9 клеток. На этих перегородках с верхней стороны в каждой клетке закреплены вешалки. Роботу поручили расстелить коврики для обуви во всех клетках с вешалками. Напиши программу, которая позволит ему обойти все перегородки со стороны вешалок и покрасить соответствующие клетки. Пусть он начнет вверху свободного прохода и закончит внизу.
--- Python 3.8.3 ---
n = int(input('n: \n'))
counter = 0
for coin1 in range(0, n+ 1):
for coin2 in range(0, (n // 2) + 1):
for coin5 in range(0, (n // 5) + 1):
for coin10 in range(0, (n // 10) + 1):
if coin1 * 1 + coin2 * 2 + coin5 * 5 + coin10 * 10 == n: counter += 1
print(counter)
для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.
При желании можно использовать как стресс-тест ЦПУ
Надо перевести сначала 21 в двоичную, потом 2 в двоичную и потом 2002 в двоичную
Получается вот так:
21 = 10101
2=10
2002 = 11111010010
В итоге:
10101.10.11111010010