See the original problem on HackerRank.
Solutions
Let's call l
the length of the string. Thus, we have copies = n / l
copies of the string.
Let's call occ
the number of occurrences of a
in the string. Thus, we have at least occ * l
occurrences of a
.
The extra number of a
is calculated from the possible remainder of the first n / l
characters in the string. So we calculate the number of a
in the first n%l
characters.
Here is a C++ solution:


An alternative solution in Python:


This simple exercise gives us the opportunity to find “perturbations” (variations) on the problem. Basically, we start from the problem asis and we make it more or less complicated.
For example:
 count other letters (take this information from the input)
 search the infinite string with generators
 don't use loops (only use standard functions or constructs, instead)
 don't use the module operator