Вопрос задан 19.07.2023 в 03:12. Предмет Информатика. Спрашивает Громов Евгений.

Задан алгоритм обработки строки: 1. Заменить в строке все символы 'A' на подстроку 'AB' и

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Остапчук Дима.

Ответ:

32768

Объяснение:

Данная незамысловатая функция Excel VBA формирует строку, согласно условию.

Function replstr(str As String, n As Integer) As String

Dim a(1 To 3), b(1 To 3) As String, i, j As Integer

a(1) = "A": a(2) = "B": a(3) = "AB"

b(1) = "AB": b(2) = "AB": b(3) = "A"

For i = 1 To n

j = (i - 1) Mod 3 + 1

str = Replace(str, a(j), b(j))

Next

replstr = str

End Function

Аргументы функции:

1) Исходная строка (а данном случае “AA”)

2) Число операций с исходной строкой

Значение первых 13 операций:

=replstr("AA";1) ABAB

=replstr("AA";2) AABAAB

=replstr("AA";3) AAAA

=replstr("AA";4) ABABABAB

=replstr("AA";5) AABAABAABAAB

=replstr("AA";6) AAAAAAAA

=replstr("AA";7) ABABABABABABABAB

=replstr("AA";8) AABAABAABAABAABAABAABAAB

=replstr("AA";9) AAAAAAAAAAAAAAAA

=replstr("AA";10) ABABABABABABABABABABABABABABABAB

=replstr("AA";11) AABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAAB

=replstr("AA";12) AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

=replstr("AA";13) ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB

Для подсчета символов “A” в строке, используем еще одну функцию:

Function chrcount(str1 As String, str2 As String) As Integer

Dim str() As String

str = Split(str1, str2)

chrcount = UBound(str, 1)

End Function

Аргументы функции:

1) Cтрока

2) Символ (последовательность символов), число которых требуется найти

Например, результатом использования функции =chrcount(replstr("AA";20);"A") в ячейке Excel будет число 256

Используя описанные функции, посчитаем символы “A”в первых 13 строках

Номер операции (i) Число символов “A” в строке

1    2

2    4

3    4

4    4

5    8

6    8

7    8

8    16

9    16

10    16

11    32

12    32

13    32

Как видно из таблицы, число символов в строке образует числовую последовательность 2^1;  2^2; 2^2; 2^2; 2^3; 2^3; 2^3; … 2^([(i-2)/3]+2)

Таким образом, мы получили формулу для вычисления числа символов “A”в строке по номеру операции.

Соответственно, 2^([(43-2)/3]+2) = 32768

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения задачи можно проследить выполнение алгоритма в цикле до достижения условия завершения (N = K) и подсчитать количество символов 'A' в полученной строке.

Исходная строка: 'AA' Исходные значения: N = 0, K = 43

Шаг 1: Заменяем символы 'A' на подстроку 'AB' и увеличиваем N на единицу. Получаем строку: 'AAB' N = 1

Шаг 2: Заменяем символы 'B' на подстроку 'AB' и увеличиваем N на единицу. Получаем строку: 'AAAB' N = 2

Шаг 3: Заменяем подстроки 'AB' на символ 'A' и увеличиваем N на единицу. Получаем строку: 'AAA' N = 3

Шаг 1: Заменяем символы 'A' на подстроку 'AB' и увеличиваем N на единицу. Получаем строку: 'AABAB' N = 4

Шаг 2: Заменяем символы 'B' на подстроку 'AB' и увеличиваем N на единицу. Получаем строку: 'AAAABAB' N = 5

Шаг 3: Заменяем подстроки 'AB' на символ 'A' и увеличиваем N на единицу. Получаем строку: 'AAAAA'

Алгоритм завершен, так как N = K = 5.

В полученной строке 'AAAAA' количество символов 'A' равно 5.

Ответ: 5

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос