у нас для длины n = 1 может получиться только 8 и 9 - 2 числа
для n = 2 может получиться только 89, 88, 98 - 3 числа
что мы можем сделать для n = 3?
к предыдущим числам длиной 2 добавить 8
898
888
988
а также мы можем добавить 9 тогда, если последняя цифра числа не 9. Это получается только тогда, когда мы для чисел длиной 1 добавляли 8(
88, 98).
колво чисел для 3 = колво чисел для 2 + колво чисел для 1 = 2 + 3 = 5.
Получаем рекусивное соотношение
то есть чтобы узнать сколько получится чисел длиной n, нам надо добавить к кол-ву чисел длиной n - 1 добавить 8(эти числа могут гарантированно быть т.к. 9 нету) и прибавить количество чисел длиной n - 2 (то есть мы к ним добавили 8 и их длина получилась n - 1 и к ним еще добавили девятку (их длина стала n), чтобы гарантированно не было двух девяток подряд)
и так для 4 получается = кол-во 3 + кол-во 2 = 3 + 5 = 8
ответ: 13
объяснение:
у нас для длины n = 1 может получиться только 8 и 9 - 2 числа
для n = 2 может получиться только 89, 88, 98 - 3 числа
что мы можем сделать для n = 3?
к предыдущим числам длиной 2 добавить 8
898
888
988
а также мы можем добавить 9 тогда, если последняя цифра числа не 9. Это получается только тогда, когда мы для чисел длиной 1 добавляли 8(
88, 98).
колво чисел для 3 = колво чисел для 2 + колво чисел для 1 = 2 + 3 = 5.
Получаем рекусивное соотношение
то есть чтобы узнать сколько получится чисел длиной n, нам надо добавить к кол-ву чисел длиной n - 1 добавить 8(эти числа могут гарантированно быть т.к. 9 нету) и прибавить количество чисел длиной n - 2 (то есть мы к ним добавили 8 и их длина получилась n - 1 и к ним еще добавили девятку (их длина стала n), чтобы гарантированно не было двух девяток подряд)
и так для 4 получается = кол-во 3 + кол-во 2 = 3 + 5 = 8
для 5 получается = кол-во 4 + кол-во3 = 8 + 5 = 13
ну кароче что то вроде последовательности Фибоначчи
и так можно написать программу которая вычислит колво для любой длины
import time
way = int(input('Укажите размер файла для скачивания: '))
speed = int(input('Какова скорость вашего соединения?: '))
time1 = way / speed
loaded = speed
timesec = 1
percent = loaded/way*100
while timesec < time1 + 1:
print (" " + str(timesec) + " сек. Скачано " + str(loaded) + ' из ' + str(way) + " Мб ({0:.1f}%)".format(percent))
timesec = timesec + 1
loaded = loaded + speed
percent = loaded/way*100
time.sleep(1)
print("Загрузка завершена, скачивание заняло - {0:.1f} секунд".format(time1))
Объяснение:
К сожалению ссылку отправить на dpaste или .py файлы прикрепить например я не могу, дебильные правила этого сервиса не позволяют.
Но мне понравилось твое задание, реально интересное, часа 3 наверное думал над решением хотя всё лежало на поверхности.