Идея такая. Записываем в регистры следующее:
Регистр 1: 1003001104
Регистр 2: 0906081003
Регистр 3: 0906081003
Регистр 4: 1209051206
Регистр 5: 0907091004
Регистр 6: 1008091105
Регистр 7: 0907091004
Регистр 8: 1109111206
Регистр 9: 1109091206
Посчитаем число букв в словесном обозначении числа 3586.
Число тысяч равно 3. Число буков в "три тысячи" смотрим в двух разрядах 10-11 числа в регистре 3 (
0906081003), оно равно 9. Число буков в "пятьсот" смотрим в разрядах 8-9 числа в регистре 5 (09
07091004), оно равно 7. Число букв в "восемьдесят" смотрим в разрядах 6-7 регистра 8 (1109
111206), оно равно 11. И наконец, число букв в "шесть" смотрим разрядах 1-2 регистра 6 (10080911
05), оно равно 5. Итого 9+7+11+5=32. Ну и дальше проверяем делимость 3586 на 32.
Чтобы не заморачиваться с мантиссой и уложить все в 8 разрядов, замечаем что слова "один", два", три" ... а также "двести", "триста" ... "девятьсот" все короче 10 букв, так что укладываются в 1 разряд, так что можно уложиться в 8 разрядов, вот так:
Регистр 1: 10300114
Регистр 2: 09608103
Регистр 3: 09608103
Регистр 4: 12905126
Регистр 5: 09709104
Регистр 6: 10809115
Регистр 7: 09709104
Регистр 8: 11911126
Регистр 9: 11909126
На примере регистра 3: 09608103
Разряды 7-8: "09" - количество букв в "три тысячи"
Разряд 6: "6" - количество букв в "триста"
Разряды 4-5: "08" - количество букв в "тридцать"
Разряды 2-3: "10" - количество букв в "тринадцать"
Разряд 1: "3" - количество букв в "три"
Тут еще замечаем, что регистры 2 и 3, а также 5 и 7 совпадают, это может еще сократить использование памяти, но нам вроде это уже и не нужно.
Можно ли все это уложить в 105 шагов... Ну, наверное будет непросто
-- 06.06.2018, 15:50 --Вариант с запаковкой таблиц в регистры уже был предложен, но для него тоже не хватает шагов программы...
Так по условиям что, предустановка регистров это разве не подготовка к запуску программы?