1) МОЛОКО: не в бутылке (по условию задачи); не в стакане, т.к. "стакан стоит между банкой и сосудом с молоком"; не в банке, потому что: "между банкой и сосудом с молоком"; отсюда следует, что МОЛОКО В КУВШИНЕ. 2) ВОДА: не в кувшине (там молоко), не в бутылке (по условию задачи), не в банке (по условию задачи); получается, что ВОДА В СТАКАНЕ. 3) ЛИМОНАД: не кувшине (там молоко); не в стакане (там вода); не в кувшине, т.к. "сосуд с лимонадом стоит между кувшином и.."; получается, что ЛИМОНАД В БУТЫЛКЕ. 4) КВАС В БАНКЕ. ответ: в бутылке лимонад, в стакане вода, в кувшине молоко, в банке квас.
Создаем в 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) ВОДА: не в кувшине (там молоко), не в бутылке (по условию задачи), не в банке (по условию задачи); получается, что ВОДА В СТАКАНЕ.
3) ЛИМОНАД: не кувшине (там молоко); не в стакане (там вода); не в кувшине, т.к. "сосуд с лимонадом стоит между кувшином и.."; получается, что ЛИМОНАД В БУТЫЛКЕ.
4) КВАС В БАНКЕ.
ответ: в бутылке лимонад, в стакане вода, в кувшине молоко, в банке квас.