Существует строка s из строчных букв латинского алфавита, которая повторяется бесконечное количество раз. По заданному целому числу n найдите и выведите количество букв a в первых буквах бесконечной строки.

Пример
s = "abcac"
n = 10

Мы рассматриваем подстроку abcacabcac, первые 10 символов бесконечной строки. В подстроке есть 4 вхождения a.

Ограничения

1 ≤ |s| ≤ 100,
1 ≤ n ≤ 10¹²

Ссылка на проблему

https://www.hackerrank.com/challenges/repeated-string/problem

Алгоритм

  1. Если n ≤ длины заданной строки s — Найти числовую частоту ‘a’ в s
  2. В противном случае
    1. Найдите, сколько раз s можно повторить полностью — Найдите частноеof n / s.length().
    2. Найдите количество символов s в последнем повторении — Найдите остатокof n % s.length() .
  3. Общее количество вхождений a = количество повторений * (частота 'a' в 's') + частота 'a' в подстроке 's' от 0 до остатка.

Код



Ваши хлопки мотивируют меня писать больше. Пожалуйста, оставьте комментарий, если у вас есть вопросы!.