У меня есть ряд чисел как таковой: [1 2 4 8 16 32 64 128]
, если я ввожу число, т.е. 66, то на выходе должно быть 64 и 2. Если я ввожу 87, то на выходе должно быть 64, 16, 4, 2, 1.
(По сути, сначала нужно разделить на максимально возможное число, найти остаток, затем продолжить деление на максимально возможное число, пока остаток не станет равным 0. Или другим способом, может быть, просто вычесть максимально возможное число и продолжать вычитать, пока не достигнет 0.)
Я думаю о рекурсивной функции, но не совсем уверен. Любая помощь?
Спасибо.