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 в строке, получившейся после завершения алгоритма. в ответе укажите целое число.
Если я всё правильно понял, то на 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