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

Опе­ран­ды ариф­ме­ти­че­ско­го вы­ра­же­ния за­пи­са­ны в си­сте­мах счис­ле­ния с ос­но­ва­ни­я­ми 9 и 11:

88x4y9 + 7x44y11.

В за­пи­си чисел пе­ре­мен­ны­ми x и y обо­зна­че­ны до­пу­сти­мые в дан­ных си­сте­мах счис­ле­ния не­из­вест­ные цифры. Опре­де­ли­те зна­че­ния x и y, при ко­то­рых зна­че­ние дан­но­го ариф­ме­ти­че­ско­го вы­ра­же­ния будет наи­мень­шим и крат­но 61. Для най­ден­ных зна­че­ний x и y вы­чис­ли­те част­ное от де­ле­ния зна­че­ния ариф­ме­ти­че­ско­го вы­ра­же­ния на 61 и ука­жи­те его в от­ве­те в де­ся­тич­ной си­сте­ме счис­ле­ния. Ос­но­ва­ние си­сте­мы счис­ле­ния в от­ве­те ука­зы­вать не нужно.

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

Ре­ше­ние.

При по­мо­щи цикла for будем пе­ре­би­рать x и y в со­от­вет­ствии в за­дан­ны­ми си­сте­ма­ми счис­ле­ний. Затем пе­ре­ведём все числа в де­ся­тич­ную си­сте­му счис­ле­ния и найдём их сумму, за­пи­сав по­лу­чен­ное зна­че­ние в пе­ре­мен­ную. Про­ве­рим крат­ность пе­ре­мен­ной на 61 и вы­ве­дем част­ное от де­ле­ния зна­че­ния ариф­ме­ти­че­ско­го вы­ра­же­ния.

 

При­ведём ре­ше­ние на языке Python.

result_search = []

for x in '012345678':

for y in '012345678':

t = int('88' + x + '4' + y, 9) + int('7' + x + '44' + y, 11)

if t % 61 == 0:

result_search.append(t)

if result_search:

print(min(result_search) // 61)

 

Ответ: 2715.

 

При­ведём ре­ше­ние Ильи Кры­ло­ва на языке Python.

for x in '012345678':

for y in '012345678':

res = int('88'+ x + '4' + y,9) + int('7'+ x + '44' + y,11)

if res % 61 == 0:

print(res / 61)

 

При­ведём ре­ше­ние Ильи Ан­дри­а­но­ва на языке Python.

alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')

for x in alphabet[:9]:

for y in alphabet[:9]:

A = int(f'88{x}4{y}', 9)

B = int(f'7{x}44{y}', 11)

if (A+B) % 61 == 0:

print((A+B) // 61)

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

d = '012345678'

a=[int(f'88{x}4{y}',9)+int(f'7{x}44{y}',11) for x in d for y in d]

print(min([x for x in a if x%61 == 0])//61)

 

При­ведём ре­ше­ние Алек­сея Скры­бы­ки­на (Якутск) на языке Python.

a = [int(('88'+ str(x) + '4' + str(y)), 9) + int(('7'+ str(x) + '44' + str(y)),11) for x in range(9) for y in range(9)]

print(*[i//61 for i in a if i % 61 == 0])