Последовательности длиной 7, содержащей 5 букв А могут быть следующими: ** (* - любой из символов В или С) *А* ААА*АА* АА*ААА* А** ** (пока 6 вариантов) Далее - аналогично: **А ААА*А*А АА*АА*А А*ААА*А **А (ещё 5 вариантов) ААА**АА АА*А*АА А*АА*АА *ААА*АА (ещё 4 варианта) АА**ААА А*А*ААА *АА*ААА (ещё 3 варианта) А** *А* (ещё 2) ** (ещё 1) Итого: 6+5+4+3+2+1=21 Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая. Можно здесь, конечно, комбинаторику вспомнить. Итого: 21*4 = 84
В позиционной системе каждый разряд стоит на своей позиции. Например, в 10-ной системе, число 235 означает, что в нем 2 сотни, 3 десятка и 5 единиц. В 2-ной системе число 10010 означает, что в нем 1 число 2^4 = 16 и 1 число 2^1 = 2. Таким образом, эта запись означает число 16 + 1 = 18. В непозиционной системе разные единицы могут быть в разных местах, а их значение определяется взаимным расположением. Самая известная непозиционная система - это римские цифры. Запись IV означает 5 - 1 = 4, запись VI означает 5 + 1 = 6. Запись IX означает 10 - 1 = 9, запись XI означает 10 + 1 = 11. То есть значение значка I означает то +1, то -1, в зависимости от того, стоит он перед или после более старшего значка.
1)
Function check7(a As Range) As Integer
Dim r As Range
Dim i As Integer
For Each r In a
i = i + 1 - Sgn((Abs(r) + 3) Mod 10)
Next
check7 = i
End Function
Excel VBA
2)
А что здесь программировать-то?
Задача сводится к с следующей: Дано два ящика и 7 мячиков. Сколькими можно разместить эти 7 мячиков в этих двух ящиках?
Бросаем все мячики в первый ящик (это первое размещение), затем перекладываем по одному мячика из первого ящика во второй.
Получаем варианты:
7|0
6|1
5|2
4|3
3|4
2|5
1|6
Итого 7 вариантов (варианта 0|7 быть не может, поскольку двузначное число с нуля не начинается).
В общем-то и без вычислений всем очевидно, что разместить 7 мячиков в двух ящиков ровно 7.
Что должна вычислять программа?