Сложение двух чисел тривиально — достаточно поставить 1 между ними и стереть крайний правый символ у Q. Программа вычитания состоит из последовательного затирания крайних левых меток у Q и правых у P:
1. 0 - стираем левый символ у Q 2. → 3. ? 5, 4 4. Stop - стоп если затерли Q=0 5. ← 6. ? 7, 5 - цикл поиска P 7. 0 - стираем правый символ у P 8. → 9. ? 1, 8 - ищем Q
Отметим, что номер команды перехода не указывается, если переход происходит на следующую по порядку строку (для наглядности текста) . В 6-ой строке возможно зацикливание, если Q > P (вы можете добавить проверку сами)
только вам нужно сдвинуться в начало строки и учесть пустую клетку-т. е. еще один проскок каретки
Сложение двух чисел тривиально — достаточно поставить 1 между ними и стереть крайний правый символ у Q. Программа вычитания состоит из последовательного затирания крайних левых меток у Q и правых у P:
1. 0 - стираем левый символ у Q
2. →
3. ? 5, 4
4. Stop - стоп если затерли Q=0
5. ←
6. ? 7, 5 - цикл поиска P
7. 0 - стираем правый символ у P
8. →
9. ? 1, 8 - ищем Q
Отметим, что номер команды перехода не указывается, если переход происходит на следующую по порядку строку (для наглядности текста) . В 6-ой строке возможно зацикливание, если Q > P (вы можете добавить проверку сами)
только вам нужно сдвинуться в начало строки и учесть пустую клетку-т. е. еще один проскок каретки
begin
Range(1,50,2).Tabulate(x->sqrt(x)).Println(NewLine)
end.
Результат
(1,1)
(3,1.73205080756888)
(5,2.23606797749979)
(7,2.64575131106459)
(9,3)
(11,3.3166247903554)
(13,3.60555127546399)
(15,3.87298334620742)
(17,4.12310562561766)
(19,4.35889894354067)
(21,4.58257569495584)
(23,4.79583152331272)
(25,5)
(27,5.19615242270663)
(29,5.3851648071345)
(31,5.56776436283002)
(33,5.74456264653803)
(35,5.91607978309962)
(37,6.08276253029822)
(39,6.2449979983984)
(41,6.40312423743285)
(43,6.557438524302)
(45,6.70820393249937)
(47,6.85565460040104)
(49,7)