2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Оптимизация сложения 3х целых беззнаковых чисел по Посту
Сообщение28.05.2010, 15:35 
Прошу, подскажите как можно оптимизировать код сложения трех целых беззнаковых чисел на машине Поста:
Текст программы
1. → 2
2. ? 3 , 1
3. ← 4
4. ← 5
5. ? 14 , 6
6. → 7
7. ξ 8
8. → 9
9. ? 8 , 10
10. ← 11
11. V 12
12. ← 13
13. ? 12 , 4
14. → 15
15. ξ 16
16. → 17
17. ? 16 , 18
18. → 19
19. ? 20 , 18
20. ← 21
21. ← 22
22. ? 31 , 23
23. → 24
24. ξ 25
25. → 26
26. ? 25 , 27
27. ← 28
28. V 29
29. ← 30
30. ? 29 , 31
31. → 32
32. ξ 33
33. Ост

Препод сказал, что код можно уменьшить в 2 (!) раза.
Ах да.
Пояснение: составить программу сложения 3-х целых неотрицательных чисел a , b и c , расположенных на ленте машины Поста. Каретка расположена над одной из меток, принадлежащих числу a. Число b находится правее числа a через несколько пустых секций, число c находится правее числа b через несколько пустых секций.

1. Движение вправо до конца первого массива.
2. Стираем крайнюю правую метку первого массива(Если она последняя в массиве, то переход к пункту 7).
3. Движение вправо до начало второго массива.
4. В начале второго массива ставим метку.
5. Движение влево до ближайшей метки.
6. Повторение пунктов 1-5.
7. Стираем крайнюю правую метку получившегося массива(Если она последняя в массиве, то переход к пункту 12).
8. Движение вправо до начала третьего массива.
9. В начале третьего массива ставим метку.
10. Движение влево до ближайшей метки.
11. Повторение пунктов 7-10.
12. Конец.

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group