Задача 1: Поиск подстроки
В информатике важную роль играют алгоритмы поиска вхождения подстроки в строку. Например, в строке «АБРАКАДАБРА» подстрока «БРА» встречается два раза, а подстрока из одного символа «А» встречается пять раз. Под количеством вхождений понимается количество способов выбрать несколько подряд идущих символов, совпадающих (в том же порядке) с искомой подстрокой. Найденные вхождения могут пересекаться, то есть один символ может быть составной частью нескольких вхождений.
Интерес представляют эффективные алгоритмы поиска вхождений подстроки в строку, то есть алгоритмы, быстро работающие для больших строк. Поэтому мы будем рассматривать в этой задаче случай, когда исходная строка представляет собой многократное повторение какой-то маленькой строки.
Например, рассмотрим строку «МАМА» и повторим её 3 раза. Получится строка «МАМАМАМАМАМА». В этой строке подстрока «АМА» встречается 5 раз: «МАМАМАМАМАМА», «МАМАМАМАМАМА», «МАМАMАМАМАМА», «МАМАМАМАМАМА», «МАМАМАМАМАМА».
Ответьте на вопросы
Если строку «БАОБАБ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «БА»?
Если строку «РЕМАРКА» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «АР»?
Если строку «АУАУОАУАУ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «АУАУ»?
Если строку «ОЙОЙ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «ЙОЙОЙ»?
Если строку «А» повторить 100 раз, то сколько в ней раз будет встречаться подстрока «A», повторённая 50 раз?
Ответ на это задание запишите в виде пяти чисел, каждое число в отдельной строке — ответы на заданные вопросы именно в таком порядке. Если вы не можете найти ответ на какой-то из пяти вопросов, запишите в этой строке любое натуральное число.срочнооооо
Answers & Comments
Ответ:
a = "РЕМАРКА"
b = a * 100
kolvo = 0
s = b.find("АР")
for i in range (len(b)):
if s != -1:
kolvo += 1
b.replace("АР", "", 1)
print (kolvo)
Объяснение:
на места "РЕМАРКА" и "АР" подставляйте ваши значения