Aa Aa | Репутация: 2135(Эксперт)
20 сентября 2011 в 22:49
Cудя по всему, самый простой алгоритм - это обратное действие: получение из числа 100 числа 1 через деление на 2 и вычитание 1, если частное получается нечётным: 100/2=50/2=25-1=24/2=12/2=6/2=3-1=2/2=1.
Кстати, ещё один вариант на 8 действий: ((1+1+1)*2*2*2+1)*2*2=100 :-)
Алмас Сапаргали | Репутация: 104(Кандидат)
20 сентября 2011 в 23:44
Кстати, ещё один вариант на 8 действий: ((1+1+1)*2*2*2+1)*2*2=100 :-)
это тоже самое что и мой ответ)) просто я неправильно оформил, на моем примере смотрите только на порядок) (не на приоритет)
Aa Aa | Репутация: 2135(Эксперт)
21 сентября 2011 в 08:44
Комментарий для Almas_Sapagali:
Я изначально понял, что вы имели в виду. Обратите внимание на начало обеих вариантов:
у вас (1*2+1)
у меня (1+1+1)
Т.е. в начале мы получаем 3, но разными способами. У вас умножение и сложение, у меня два сложения. Но, в итоге получаем равное количество действий.
1*2+1*2*2*2+1*2*2