13.: Формальные исполнители
Баллы: 3
Задан алгоритм обработки строки:

Заменить в строке все символы 'A' на подстроку 'AB' и увеличить N на единицу. Если N=K, то завершить выполнение алгоритма, иначе перейти на шаг 2.
Заменить в строке все символы 'B' на подстроку 'AB' и увеличить N на единицу. Если N=K, то завершить выполнение алгоритма, иначе перейти на шаг 3.
Заменить в строке все подстроки 'AB' на символ 'A' и увеличить N на единицу. Если N=K, то завершить выполнение алгоритма, иначе перейти на шаг 1.
Известно, что перед началом выполнения была строка 'AA', N=0 и K=43. Определите количество символов A в строке, получившейся после завершения алгоритма. В ответе укажите целое число.

Ответы

Ответ дал: kamaz1978
0

Ответ:

Если я всё правильно понял, то на Python - примерно так:

st = 'AA'

N = 0

K = 43

while N != K:

   st = st.replace('A', 'AB')

   N += 1

   if N != K:

       st = st.replace('B', 'AB')

       N += 1

       if N != K:

           st = st.replace('AB', 'A')

           N += 1

print(st.count('A'))

Объяснение:

Выходит 32768 символов A


answer2020: Ну зачем же так все сплошь и рядом все IFами утыкивать? Хорошо бы детишек к оптимизации кода приучать...
Ответ дал: answer2020
0

Ответ:

32768

Объяснение:

Чисто символов "А" в строке вычисляется по формуле 2^([(K-2)/3]+2) , соответственно, 2^([(43-2)/3]+2) = 32768

Вас заинтересует