This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.

Hi all, I had this question in mind from many days. Why should we learn fibonacci series? While in college we had this in our syllabus. Write a java program to print Fibonacci series till N. Where N is a number.

Not only this, we even had java program to check whether given number is armstrong or not (153 for example).

I wonder why should we learn them. I dint use any of them till now. Can anyone please tell me what is it real purpose.

It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Jesper de Jong wrote:It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Okay, thank you. But what is the use of Fibonacci series in real life?

Jesper de Jong wrote:It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Okay, thank you. But what is the use of Fibonacci series in real life?

Jesper de Jong wrote:It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Okay, thank you. But what is the use of Fibonacci series in real life?

We have a small running joke about Fibonacci numbers at my work.

We use "powers of two" for estimating time on story cards: a 1-hour card, 2-hour, 4-hour, 8-hour, etc. At a meeting with some business analysts on the topic of whether they wanted us to record actual time spent in addition to estimates, one of the BSAs asked, "Well if you record actuals, are you going to stick to those numbers you use for estimating -- what are they? Fibonacci numbers?" So the joke became that we would continue to estimate in powers of two, but record actuals with Fibonacci numbers. In the end it they decided not to have us record actuals, so the point became moot. But we still make the occasional joke about the 5- or 13- hour story card. Or when struggling to make an estimate, pick some value between the powers of two we're debating between and wonder loudly if it's a Fibonacci number and whether we should switch to the Fibonacci series for estimating.

Jesper de Jong wrote:It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Okay, thank you. But what is the use of Fibonacci series in real life?

Did you click on that link in Jesper's post ?

I find the usage of these "golden numbers" in the real world very interesting. Lots of things are "3 by 5" or "5 by 8" -- it is like designers are using these numbers in a Feng Shui sort of way...

Jesper de Jong wrote:It's not because the Fibonacci series is useful in everyday life as a business software developer, but because it's an interesting mathematical thing and something simple which you can use to learn what recursion is (it's often used as an exercise to learn to write a recursive program).

Okay, thank you. But what is the use of Fibonacci series in real life?

Did you click on that link in Jesper's post ?

Yeah I read that link. It speaks about the histroy of fibonacci series, its occurrences in nature and some mathematical things. However I am not a mathematical expert and could not understand it. I want to know the applications of fibonacci series in computer applications.

Because you can't ask a freshman student to write a program that manages a stock exchange.

There is a LOT to learn when you are just starting out. You want the student spend their time learning about programming things, not what he or she is trying to model. So, you find something that is easy to understand (it probably takes about 10 minutes to understand a fibonacci series), and then the student can focus on learning how to code.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Michael Matola wrote:We have a small running joke about Fibonacci numbers at my work.

We use "powers of two" for estimating time on story cards: a 1-hour card, 2-hour, 4-hour, 8-hour, etc. At a meeting with some business analysts on the topic of whether they wanted us to record actual time spent in addition to estimates, one of the BSAs asked, "Well if you record actuals, are you going to stick to those numbers you use for estimating -- what are they? Fibonacci numbers?" So the joke became that we would continue to estimate in powers of two, but record actuals with Fibonacci numbers. In the end it they decided not to have us record actuals, so the point became moot. But we still make the occasional joke about the 5- or 13- hour story card. Or when struggling to make an estimate, pick some value between the powers of two we're debating between and wonder loudly if it's a Fibonacci number and whether we should switch to the Fibonacci series for estimating.

And for those who don't know, Fibonacci numbers are used for estimation under some methodologies - see Planning Poker. Often the numbers used are not strictly Fibonacci numbers, but mostly Fibonacci numbers with a few others thrown in. There's not really a good reason for this, other than that (a) it discourages over-precision, and (b) it's more fine-grained than the powers-of-two approach. And (c) at larger values they round off the values away from the Fibonacci values, just to keep the math simpler. I'm sure they could have found other sequences with similar properties, but Fibonacci series are familiar to many programmers, so why not?

Michael Matola
whippersnapper
Ranch Hand

Joined: Mar 25, 2001
Posts: 1739

2

posted

0

Mike Simmons wrote:And for those who don't know, Fibonacci numbers are used for estimation under some methodologies - see Planning Poker.

Thanks all for the responses. At least I came to know that Fibonacci series is used in Agile. Indeed we use agile here, since I am not a scrum master I dint know about this till now.