для перевода из 2ой в 8ую необходимо разбить число с конца на триады(три цифры). получается:
11011101000(2) = 011 011 101 000
*в начале добавляется ничего не значащий нуль, чтобы образовать триаду
011(2) = 3(8)
101(2) = 5(8)
значит ответ: 3350(8)
аналигочная ситуация с 16ой. но здесь разбиваете на тетрады(4 цифры). получается:
11011101000(2) = 0110 1110 1000 (здесь тоже в начале добавляется ничего не значащий нуль, чтобы образовать тетраду)
0110(2) = 6(16)
1110(2) = e(16)
1000(2) = 8(16)
значит ответ: 6е8(16)
while true:
a = int(input('введите длину мотка (от 1 до 100): '))
if a < = 100 and a > = 1:
break
else:
print('неверный ввод! ')
c = 0
while true:
b = int(input('введите длину куска (от 1 до 100): '))
if b < = 100 and b > = 1:
if b < a:
a -= b
c += 1
continue
if b == a:
a -= b
c += 1
print(f'количество кусков: {c: d}; длина остатка: {a: d}')
break
else:
print('неверный ввод! ')
Поделитесь своими знаниями, ответьте на вопрос:
Получение символов расположенных вместе с цифровыми в верхнем ряду клавиатуры