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

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(a, b), где a и b  — целые не­от­ри­ца­тель­ные числа, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(a, 0)  =  a;

F(a, b)  =  F(ab, b), если a ≥ b > 0;

F(a, b)  =  F(b, a), если a < b.

 

Ука­жи­те ко­ли­че­ство таких чисел n из ин­тер­ва­ла

123 456 795 ≤ n ≤ 1 234 567 888,

для ко­то­рых F(n, 14)  =  1.

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

Ре­ше­ние.

За­ме­тим, что ал­го­ритм ищет числа, не име­ю­щих общих де­ли­те­лей с чис­лом 14. Будем счи­тать ко­ли­че­ство чисел из диа­па­зо­на, не име­ю­щих общих де­ли­те­лей с чис­лом 14.

 

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

a_2 = len(range(123456796, 1234567889, 2))

a_7 = len(range(123456802, 1234567889, 7))

a_14 = len(range(123456802, 1234567889, 14))

print(len(range(123456795, 1234567888)) - a_2 - a_7 + a_14)

 

Ответ: 476190468.

 

 

При­ве­дем ре­ше­ние Ми­ха­и­ла Глин­ско­го на языке Python.

count = 0

for n in range(123456795, 1234567889,2):

if n%7 != 0:

count += 1

print(count)

При­ме­ча­ние: спо­соб ис­поль­зу­ет пря­мой пе­ре­бор, что не очень ра­ци­о­наль­но.


Аналоги к заданию № 55603: 55633 Все