Форум » Обработка целых чисел » Вопрос по условию и решению 245 задачи из файла задач 25 номера. » Ответить

Вопрос по условию и решению 245 задачи из файла задач 25 номера.

1DarusFriman1: В задаче 245 из сборника задач 25 номера присутствуют числа Фибоначчи. Проблема в том, что первой парой чисел приняты 0 и 1, в то время как в предложенном решении 0 отсутствует, из-за чего различается и итоговый вывод программы. Вот что указано в ответе задачи: 73584868 1711276 734514863 17081741 735554861 17105927 735894862 17113834 737524863 17151741 Вывод с учетом нуля: 73584868 1711276 731504863 17011741 - [из-за 0 в последовательности фибоначчи] 734514863 17081741 735214860 17098020 - [из-за 0 в последовательности фибоначчи] 735554861 17105927 735894862 17113834 736504860 17128020 - [из-за 0 в последовательности фибоначчи] 737504868 17151276 - [из-за 0 в последовательности фибоначчи] 737524863 17151741 739514860 17198020 - [из-за 0 в последовательности фибоначчи] Это ошибка в условии задачи (не указано ограничение на натуральные числа, "- символ «F» означает любое число, входящее в последовательность Фибоначчи")?

Ответов - 1

Ж: Первая пара чисел всегда 1, 1 Возможно, условие уже исправлено. Сейчас именно так (числа Фибоначчи – это ряд чисел, в котором первое и второе число равны единице, а каждое следующее число равно сумме двух предыдущих чисел ряда: 1, 1, 2, 3, 5, 8, 13, ...). [pre2] sp=[0]*11; sp[0]=sp[1]=1; for j in range(2,len(sp)): sp[j]=sp[j-1]+sp[j-2] l=[] for (c,d,e) in product(sp,sp,['']+list('0123456789')): n=int('73'+e+'5'+str(c)+'486'+str(d)) if n in range(43,10**9+1,43): l.append((n,n//43)) print(sorted(set(l))) [/pre2]



полная версия страницы