1) 33 ⇒ 333311
2) 333311 ⇒ 333311113333111111
3) 333311113333111111 ⇒ 333311113333111111111111333311113333
Заметим, что в исходном числе все цифры нечетные и после любого приписывания все цифры будут нечетными (т.к. 1 - нечетна)
Т.е. при каждой работе алгоритма длин числа будет увеличиваться в три раза (само число, перевернутое и единицы по длине равные самому числу).
Соответственно после третьего применения алгоритма длина числа будет: 2 * 3 * 3 * 3 = 54
Выясним сколько среди них будет единиц. При каждом применении алгоритма количество троек будет увеличиваться в два раза (тройки самого числа и перевернутого).
Значит троек в конце будет: 2 * 2 * 2 * 2 = 16
Соответственно единиц будет 54 - 16 = 38
var
arr:array[1..1000] of integer;
i,N:integer;
max:integer;
begin
max:=1;
write('Укажите кол-во эл-ов - ');
read(N);
for i:=1 to N do//Присваивание и вывод массива
begin
arr[i]:=1+random(100);
write(arr[i],' ');
if arr[i]>max then max:=arr[i];
end;
writeln;
writeln('Максимальный эл-т - ',max);
for i:=1 to N do//Увеличение чет. эл-ов
begin
if arr[i] mod 2=0 then arr[i]:=arr[i]+max;
write(arr[i],' ');
end;
end.
Объяснение: