def to_bin(n):
return str(bin(n))[2:len(str(bin(n)))]
def to_hex(n):
return str(hex(n))[2:len(str(hex(n)))]
def main():
n = int(input())
print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
1. b = 10
2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.
3.
нц
пока снизу свободно
вниз
кц
нц
пока не снизу свободно
закрасить
вправо
кц
нц
пока снизу свободно
вправо
кц
нц
пока не снизу свободно
закрасить
вправо
кц
вниз
влево
нц
пока не сверху свободно
закрасить
влево
кц
нц
пока сверху свободно
влево
кц
нц
пока не сверху свободно
закрасить
влево
кц
Объяснение:
1. Рассмотрим последовательность номеров команд 11112.
4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:
(6+4b)*2 = 92
6+4b = 46
4b = 40
b = 10