Можно решать от обратного.
50 = 25×2
25 - нечетное, так что оно не может получиться умножением на 2.
25 = 22+3
22 = 11×2
11 - нечетное, 11 = 8+3
8 = 4×2
А теперь строим команды от конца к началу
1. умножь на 2 (получим 8)
2. прибавь 3 (получим 11)
3. умножь на 2 (получим 22)
4. прибавь 3 (получим 25)
5. умножь на 2 (получим 50)