@hidefromkgb

Десятичный сумматор на базе НАМ

Пишу десятичный сумматор на алгоритмах Маркова.
Формат входа — «X + Y =», формат выхода «Z».
X, Y, Z — десятичные числа, с любым количеством пробелов внутри, в начале и в конце (т.к. первая команда всё равно ничего от них не оставляет).

 ->

0*->0
1*->1
2*->2
3*->3
4*->4
5*->5
6*->6
7*->7
8*->8
9*->9

|0->0|
|1->1|
|2->2|
|3->3|
|4->4|
|5->5|
|6->6|
|7->7|
|8->8|
|9->9|

+|->+1

0|=->=0
1|=->=1
2|=->=2
3|=->=3
4|=->=4
5|=->=5
6|=->=6
7|=->=7
8|=->=8
9|=->=9

0|->1
1|->2
2|->3
3|->4
4|->5
5|->6
6|->7
7|->8
8|->9
9|->|*0

0+->+|
1+->+||
2+->+|||
3+->+||||
4+->+|||||
5+->+||||||
6+->+|||||||
7+->+||||||||
8+->+|||||||||
9+->+||||||||||

+->
=->

Пока что укладываюсь в 54 команды, но селезёнкой чую, что их количество можно значительно уменьшить.
Кому не влом разбираться — прошу подсобить.
  • Вопрос задан
  • 2368 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы