Заметим, что в исходном числе все цифры нечетные и после любого приписывания все цифры будут нечетными (т.к. 1 - нечетна)
Т.е. при каждой работе алгоритма длин числа будет увеличиваться в три раза (само число, перевернутое и единицы по длине равные самому числу).
Соответственно после третьего применения алгоритма длина числа будет: 2 * 3 * 3 * 3 = 54
Выясним сколько среди них будет единиц. При каждом применении алгоритма количество троек будет увеличиваться в два раза (тройки самого числа и перевернутого).
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandomReal(ReadInteger('n='),-10,10); a.Println;
a:=a.Select((x,i)->i mod 2=0?x+1:x-1).ToArray; a.Println
end.
Пример
n= 10
-9.05843428292239 -4.25451094017108 9.66351874157019 -3.1105665178553 4.8065062215582 -2.02809873597142 4.59844561973514 -4.45959216657076 1.37816560984504 -7.69115956392659
-8.05843428292239 -5.25451094017108 10.6635187415702 -4.1105665178553 5.8065062215582 -3.02809873597142 5.59844561973514 -5.45959216657076 2.37816560984504 -8.69115956392659
1) 33 ⇒ 333311
2) 333311 ⇒ 333311113333111111
3) 333311113333111111 ⇒ 333311113333111111111111333311113333
Заметим, что в исходном числе все цифры нечетные и после любого приписывания все цифры будут нечетными (т.к. 1 - нечетна)
Т.е. при каждой работе алгоритма длин числа будет увеличиваться в три раза (само число, перевернутое и единицы по длине равные самому числу).
Соответственно после третьего применения алгоритма длина числа будет: 2 * 3 * 3 * 3 = 54
Выясним сколько среди них будет единиц. При каждом применении алгоритма количество троек будет увеличиваться в два раза (тройки самого числа и перевернутого).
Значит троек в конце будет: 2 * 2 * 2 * 2 = 16
Соответственно единиц будет 54 - 16 = 38