DWITE '09 R3 #2 - Rounding to Fibonacci

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 64M

Problem type
DWITE Online Computer Programming Contest, December 2009, Problem 2

There are a few different rounding methods. The most common one rounds up/down from 5. Another one rounds up/down depending on the number being even or odd (this has to do with statistical bias). Here we'll implement yet another type of rounding — rounding a number to the closest whole integer in the Fibonacci sequence. If two elements in the sequence are equally far away, round up.

The Fibonacci sequence is defined as:

  • F(0)=0
  • F(1)=1
  • F(n)=F(n1)+F(n2)

Which produces a sequence of: 0,1,1,2,3,5,8,13,21,34,

The input will contain 5 lines, integers 0N1000000000.

The output will contain 5 lines, each a corresponding integer rounded to the closest number from the Fibonacci sequence.

Sample Input

Copy
1
2
4
22
1000000000

Sample Output

Copy
1
2
5
21
1134903170

Problem Resource: DWITE

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported

Comments

There are no comments at the moment.