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

Зна­че­ние ариф­ме­ти­че­ско­го вы­ра­же­ния

4 · 724 + 6 · 713 + 4 · 494 + 5 · 3432 + 20 − x,

где x  — на­ту­раль­ное число, за­пи­са­ли в си­сте­ме счис­ле­ния с ос­но­ва­ни­ем 7. Опре­де­ли­те наи­мень­шее зна­че­ние x, при ко­то­ром в этой за­пи­си шестёрок будет боль­ше, чем нулей.

В от­ве­те за­пи­ши­те най­ден­ное зна­че­ние x в де­ся­тич­ной си­сте­ме счис­ле­ния.

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

Ре­ше­ние.

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

for x in range(20*10**6,10**10):

s = 4 * 7**24 + 6 * 7**13 + 4 * 49**4 + 5 * 343**2 + 20 - x

t = ''

while s > 0:

t = t + str(s % 7)

s //= 7

if t.count('6') > t.count('0'):

print(x)

break

 

 

Ответ: 23647470.

 

При­ведём ре­ше­ние Сер­гея Донец:

Пер­вая пара сла­га­е­мых имеет 7 в сте­пе­ни 24 и 13.

их сумма s1= 4000000000060000000000000.

вто­рая пара 7 в сте­пе­ни 8 и 6.

их сумма s2= 405000000. в де­ся­тич­ной 23647449.

тре­тья пара 20 −x.

s1 - s2 - 20 => не ме­ня­ет нули в конце. По­это­му надо вы­честь ещё 1.

т. е. s1 - s2 - 21 тогда ко­неч­ные нули ста­нут шестёрками. (cc7)

ис­ко­мое х это s2 + 21. т. е. 23647449 + 21 = 23647470.

код на PascalABC.NET 3.11+ для расчётов и ана­ли­за:

uses School,sf;

begin

(4*7bi**24+6*7bi**13).Digits(7).jts('').Println;

(4*49bi**4+5*343bi**2).Digits(7).jts('').Println;

(4*49bi**4+5*343bi**2).Digits().jts('').Println;

(4*7bi**24+6*7bi**13 + 4*49bi**4+5*343bi**2 + 20-23647470).Digits(7).jts('').Println;

end.

Код на PascalABC.NET 3.11+ для под­твер­жде­ния расчётов: под­став­ля­ем най­ден­ный х:

uses School;

begin

var x:=(4*49bi**4+5*343bi**2 + 20 + 1);

var v:=(4*7bi**24+6*7bi**13 + 4*49bi**4+5*343bi**2 + 20-x).Digits(7);

var k6:=v.CountOf(6);

var k0:=v.CountOf(0);

if k6>k0 then begin x.Print;exit;end;

end.

было -> стало

4000000000060000000000000

4000000000056666666666666

 

пер­вые 10 нулей так и оста­лись

вто­рые 13 нулей пре­вра­ти­лись в шестёрки.

ответ 23647470