Loading...
Angel_Kalinkov avatar Angel_Kalinkov 111 Точки

Programming Basics - Exercises -> Advanced Loops -> 12. Fibonacci - грешно ли е решението, заложено в Judge?

Това е линк към задачата: https://judge.softuni.bg/Contests/Practice/Index/156#11

Леонардо Фибоначи е дефинирал поредицата така:

{\displaystyle 1,\;1,\;2,\;3,\;5,\;8,\;13,\;21,\;34,\;55,\;89,\;144,\;\ldots }

като за числата в нея важи следното правило:

{\displaystyle F_{n}=F_{n-1}+F_{n-2},}

{\displaystyle F_{1}=1,\;F_{2}=1}

В по-модерната математика обаче често е добавян и още един елемент от редицата и тя изглежда така:

{\displaystyle 0,\;1,\;1,\;2,\;3,\;5,\;8,\;13,\;21,\;34,\;55,\;89,\;144,\;\ldots }

като {\displaystyle F_{0}=0,\;F_{1}=1.}

Защо тогава в Judge, при вход 0 се очаква изход 1, при вход 1 - изход 1, вход 2 - изход 2, вход 3 - 3, 4 - 5, 5 - 8 и т.н., след като изходът трябва да е съответно: 0, 1, 1, 2, 3, 5 и т.н.?!

Това са някои от първите препратки, които излизат, когато се потърси информация за числата на Фибоначи в Google:

https://en.wikipedia.org/wiki/Fibonacci_number

http://mathworld.wolfram.com/FibonacciNumber.html

http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html

http://platonicrealms.com/encyclopedia/Fibonacci-sequence

https://brilliant.org/wiki/fibonacci-series/

1
Предложения и проблеми 20/02/2018 20:25:39
fbinnzhivko avatar fbinnzhivko 1586 Точки
Best Answer

Явно автора на задачата не се е задълбочил толкова в математиката зад Фибоначи числата.
The definition with Fib(0) = 1 is known as the combinatorial definition, and Fib(0) = 0 is the classical definition.

0
Angel_Kalinkov avatar Angel_Kalinkov 111 Точки

Намерих в stackoverflow дискусия по тази тема  и разбрах, че всъщност и двата варианта (F1 = 0 и F1 = 1) са верни. Просто предварително трябва бъде уточнено, когато се използва combinatorial definition. В условието на задачата това е направено, затова може да се приеме, че няма грешка в решението и в заложените вход и изход в Judge.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.