Решение. Приведём решение на языке Python.
from itertools import product
alphabet = '0123'
ap=[]
for i in product(alphabet, repeat=3):
if (i[0] != '0') and (int(i[0]) + int(i[2]) > int(i[1])):
ap.append(i)
print(len(ap))
Ответ: 38.
Приведём решение Бориса Савельева на языке Python.
count = 0
for i in '123':
for j in '0123':
for k in '0123':
if (int(i)+int(k)) > int(j):
count += 1
print(count)
Приведём аналитическое решение Александра Козлова.
Найдем количество различных комбинаций для каждого отдельно взятого случая a = 1, a = 2 и a = 3.
Для a = 1: Условие: 1 + c > b. Это можно переписать как: c > b−1
Теперь рассмотрим возможные значения b:
Если b = 0: c > −1 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b = 1: c > 0 (подходящие c: 1,2,3) — 3 комбинации.
Если b = 2: c > 1 (подходящие c: 2,3) — 2 комбинации.
Если b = 3: c > 2 (подходящее c: 3) — 1 комбинация.
Теперь суммируем: 4+3+2+1 = 10
Для a = 2: Условие: 2 + c > b. Это можно переписать как: c > b−2
Рассмотрим возможные значения b:
Если b = 0: c > −2 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b = 1: c > −1 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b = 2: c > 0 (подходящие c: 1,2,3) — 3 комбинации.
Если b = 3: c > 1 (подходящие c: 2,3) — 2 комбинации.
Теперь суммируем: 4+4+3+2 = 13
Для a = 3: Условие: 3 + c>b. Это можно переписать как: c > b−3
Рассмотрим возможные значения b:
Если b=0: c > −3 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b=1: c > −2 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b=2: c > −1 (все значения c подходят: 0,1,2,3) — 4 комбинации.
Если b=3: c > 0 (подходящие c: 1,2,3) — 3 комбинации.
Теперь суммируем: 4+4+4+3 = 15
Итого имеем:10+13+15 = 38
Вычисление на языке Python.
k = 0
for a in range(1, 4): # a = 1, 2, 3
for b in range(0, 4): # b = 0, 1, 2, 3
for c in range(0, 4): # c = 0, 1, 2, 3
if (a + c) > b:
k += 1
print('a=',a,'b=',b,'c=',c,'k=',k)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
(0..3).Cartesian(3)
.Where(\(a,b,c)-> (a+c>b)and(a<>0) )
.Count.Print;
end.