Голосование за лучший ответ
Александрович
Ученик
(188)
8 месяцев назад
1. Инициализируем пустую строку result для хранения результата.
2. Для каждого слова xi в последовательности x1, x2, ... xn:
2.1. Подсчитываем количество символов b в xi (представляем xi в виде "a^m b^n").
2.2. Добавляем символ 'b' в result n раз (n - количество символов b в xi).
2.3. Добавляем xi без символов 'b' в result.
3. Возвращаем результат result.
Пример:
Пусть дана последовательность слов x1 = "aab", x2 = "bb", x3 = "abab":
1. result = ""
2. Для x1 = "aab":
2.1. Подсчет символов b: 0 символов.
2.2. Добавляем 'b' в result 0 раз.
2.3. Добавляем "aab" (без 'b') в result.
3. result = "aab"
4. Для x2 = "bb":
2.1. Подсчет символов b: 2 символа.
2.2. Добавляем 'b' в result 2 раза.
2.3. Добавляем "bb" (без 'b') в result.
3. result = "aabb"
5. Для x3 = "abab":
2.1. Подсчет символов b: 1 символ.
2.2. Добавляем 'b' в result 1 раз.
2.3. Добавляем "abab" (без 'b') в result.
3. result = "aababab"
В результате выполнения алгоритма для последовательности "aab bb abab" получим "aababbabab".
Петя Пупкин
Профи
(634)
8 месяцев назад
1. Нормальный алгоритм
Вход: Слово x1x2...xn в алфавите {a, b}
Выход: Слово (b^n)x1x2...xn
Алгоритм:
1. Написать n копий буквы "b".
2. Конкатенировать эти копии с входным словом.
Пример:
Для входного слова "ab" алгоритм сработает следующим образом:
1. Пишем две копии буквы "b": "bb".
2. Конкатенируем копии с входным словом: "bb ab".
3. Выходное слово: "bb ab".
2. Проверка работы алгоритма
Входное слово | Выходное слово
------- | --------
ab | bb ab
baa | bbb baa
abab | bbbb abab
bb | bbbb bb
2. Проверить работу построенного нормального алгоритма над некоторыми словами.