This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Задача з телеграма про 87 хвилин

На дошці виписані числа від 1 до 2150.

Кожну хвилину кожне число піддається наступній операції: якщо число націло ділиться на 100, то його ділять на 100, якщо ж не ділиться, то від нього віднімають 1. Знайдіть найбільше серед чисел на дошці через 87 хвилин.

 

Спочатку пробуйте самостійно, а потім можете перевірити свою відповідь, переглянути розумне математичне пояснення і код перебору на python

 

Логічне пояснення:

 

Всі числа, дві останні цифри яких - 86 або менше, за 87 хвилин встигнуть перетворитися в числа, що закінчуються на 00, і наступним кроком зменшаться в 100 разів. У підсумку все такі числа через 87 хвилин виявляться не більшими, ніж 2100/100 = 21.

Ті ж числа, які закінчуються на 87 і більше, за 87 хвилин зменшаться на 87. Найбільше з таких чисел - 2099, і воно через 87 хвилин перетвориться в 2012.

 

Код повного перебору на python - у мене вісім рядків:

 

s = [x for x in range(1,2151)]
for x in range(87):
    for i, j in enumerate (s):
        if j % 100 == 0:
            s[i] = j // 100
        else:
            s[i] = j - 1
print(max(s))
 


 

 

 

Вхід для своїх