Задания
Версия для печати и копирования в MS Word
Тип 8 № 58235
i

Сколь­ко су­ще­ству­ет раз­лич­ных трёхзнач­ных чисел, за­пи­сан­ных в чет­ве­рич­ной си­сте­ме счис­ле­ния, в за­пи­си ко­то­рых сумма пер­вой и по­след­ней цифры стро­го боль­ше цифры сто­я­щей по се­ре­ди­не?

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке 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.