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

Обо­зна­чим через a%b оста­ток от де­ле­ния на­ту­раль­но­го числа a на на­ту­раль­ное число b, а через a//b  — целую часть от де­ле­ния a на b.

Функ­ция F(n), где n  — не­от­ри­ца­тель­ное целое число, за­да­на сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n)  =  0, если n  =  0;

F(n)  =  F(n//10) + n%10, если n > 0 и n четно;

F(n)  =  F(n//10), если n не­чет­но.

Сколь­ко су­ще­ству­ет таких на­ту­раль­ных чисел n, что 4 · 107≤ n ≤ 9 · 107 и F(n)  =  0?

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

Ре­ше­ние.

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

Функ­ция под­счи­ты­ва­ет сумму чётных цифр числа. Если функ­ция равна нулю, это зна­чит, что в числе нет чётных цифр (за ис­клю­че­ни­ем нуля).

Пер­вой циф­рой числа может быть или 5, или 7, или 9. В по­след­нем слу­чае число толь­ко одно - это 90000000, т. к. число не долж­но пре­вос­хо­дить это зна­че­ние.

Если пер­вая цифра - 5 или 7, то осталь­ные семь цифр могут быть лю­бы­ми из мно­же­ства «013579» (всего 6 раз­лич­ных цифр).

Ответ к за­да­че - это 2 · 67+1=559873.

 

 

Функ­ция вы­да­ет сумму чет­ных цифр (боль­ших 0) в числе. Для того, чтобы F(n)  =  0 не­об­хо­ди­мо, чтобы в числе не было чет­ных цифр боль­ших 0.

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

from itertools import product

count = 0

for i in product('013579', repeat=8):

if i[0] != '0':

if i[0] =='5' or i[0] =='7':

count += 1

print(count+1)#+1 так как учи­ты­ва­ем число 9*10**7

Ответ: 559873.