Предмет: Информатика,
автор: egor7598
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 в строке, получившейся после завершения алгоритма. В ответе укажите целое число.
Ответы
Автор ответа:
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ами утыкивать? Хорошо бы детишек к оптимизации кода приучать...
Автор ответа:
0
Ответ:
32768
Объяснение:
Чисто символов "А" в строке вычисляется по формуле 2^([(K-2)/3]+2) , соответственно, 2^([(43-2)/3]+2) = 32768
Похожие вопросы
Предмет: Математика,
автор: yyttgijhcdds23344
Предмет: Математика,
автор: trudovadaria
Предмет: Литература,
автор: bemoan
Предмет: История,
автор: IceCreamm
Предмет: Алгебра,
автор: AntDen