Выпишем первые 10 строк и посчитаем количество символов a, b и c
i a b c
1 acac 2 0 2
2 abcabc 2 2 2
3 accacc 2 0 4
4 abccabcc 2 2 4
5 acccaccc 2 0 6
6 abcccabccc 2 2 6
7 aa 2 0 8
8 abab 2 2 8
9 aa 2 0 10
10 abab 2 2 10
Как видим, a=2 и не изменяется, b принимает значение 0 для нечетных строк и 1 для четных строк, с принимает значение i+1 для нечетных строк и i для четных.
2,0,334
Объяснение:
Excel VBA
Function newstr(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "a", "ab")
str = Replace(str, "bb", "c")
Next
newstr = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
После вызова из ячейки функции
= chrcount(newstr("abab"; 333); "a")&","&chrcount(newstr("abab"; 333); "b")&","&chrcount(newstr("abab"; 333); "c")
получаем результат:
2,0,334
2,0,334
Объяснение:
Выпишем первые 10 строк и посчитаем количество символов a, b и c
i a b c
1 acac 2 0 2
2 abcabc 2 2 2
3 accacc 2 0 4
4 abccabcc 2 2 4
5 acccaccc 2 0 6
6 abcccabccc 2 2 6
7 aa 2 0 8
8 abab 2 2 8
9 aa 2 0 10
10 abab 2 2 10
Как видим, a=2 и не изменяется, b принимает значение 0 для нечетных строк и 1 для четных строк, с принимает значение i+1 для нечетных строк и i для четных.
333 - нечетное число, поэтому b=0, а c=333+1=334