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 в строке, получившейся после завершения алгоритма. В ответе укажите целое число.
Answers & Comments
Ответ:
Если я всё правильно понял, то на 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
Ответ:
32768
Объяснение:
Чисто символов "А" в строке вычисляется по формуле 2^([(K-2)/3]+2) , соответственно, 2^([(43-2)/3]+2) = 32768