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

Обо­зна­чим част­ное от де­ле­ния на­ту­раль­но­го числа a на на­ту­раль­ное число b как a div b, а оста­ток  — как a mod b. На­при­мер, 13 div 3  =  4, 13 mod 3  =  1.

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

F(0)  =  0;

F(n)  =  F(n div 10) + (n mod 10).

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

765 432 015 ≤ n ≤ 1 542 613 239,

для ко­то­рых F(n) > F(n + 1).

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

Ре­ше­ние.

Рас­смот­рим функ­цию F(n). Дан­ная функ­ция счи­та­ет сумму цифр числа n. Не­об­хо­ди­мо опре­де­лить в каких слу­ча­ях сумма цифр в числе боль­ше у мень­ше­го числа. Это воз­мож­но толь­ко в одном слу­чае, когда число окан­чи­ва­ет­ся на цифру 9. В таком слу­чае раз­ряд уве­ли­чи­ва­ет­ся и сумма цифр сле­ду­ю­ще­го числа будет мень­ше суммы чисел преды­ду­ще­го (При­мер: число 239, сумма цифр 14, сле­ду­ю­щее число 240, сумма цифр 6). Пер­вое такое число в дан­ном ин­тер­ва­ле 765 432 019 , далее можно по­счи­тать все осталь­ные числа с шагом 10. Таких чисел будет:

1 542 613 23 −  765 432 01 +  1  =  77718123,

плюс 1 до­бав­ля­ем, так как вхо­дят оба край­них числа диа­па­зо­на.

Или со­ста­вим про­грам­му, счи­та­ю­щую ко­ли­че­ство таких цифр в ин­тер­ва­ле 765 432 015 ≤ n ≤ 1 542 613 239.

 

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

c = 0

for n in range (765_432_019, 1_542_613_239+1, 10):

c += 1

print(c)

 

Ответ: 77718123.