Дана исходная строка: “12”. Ее обработали по следующему алгоритму: в конец строки...

0 голосов
80 просмотров

Дана исходная строка: “12”. Ее обработали по следующему алгоритму: в конец строки дописали ее зеркальную копию, а затем к цифрам стоящим на четных позициях считая слева направо, прибавили по 1. Получилась строка: “1322”. Указанный алгоритм обработки применили к этой получившейся строке, затем к строке, которая получилась в результате новой обработки и т.д. Например, после трех применений алгоритма обработки получились следующие строки:

12

1322

14232332

1524243324333342

Посчитай количество нечетных цифр в строке, получившейся после шестого применения алгоритма обработки. В ответе укажите целое число.


Информатика | 80 просмотров
Дан 1 ответ
0 голосов

Program test;
var i,n,k,s1,es,al:integer;
s:string;
begin
write('Введите кол-во повторений:');
readln(n);
write('Введите строку:');
readln(s);
repeat
inc(k);
for i:=length(s) downto 1 do s:=s+s[i];
for i:=1 to length(s) do
if i mod 2 = 0 then
begin
es:=strtoInt(s[i])+1;
delete(s,i,1);
insert(InttoStr(es),s,i);
end;
writeln(k,') ',s);
until k=n;
for i:=1 to length(s) do
if StrtoInt(s[i]) mod 2 = 1 then inc(al);
writeln('Кол-во нечетных чисел: ',al);
end.

(623 баллов)