Sadistic coach P92727


Statement
 

pdf   zip

Professor Oak’s latest perversion is to compute the maximum number hh of consecutive hours that his students can train before exploding. He already locked one student alone for nn hours in a computer room. Sadly, the student could not resist the effort. When Prof. Oak opened the room’s door, the remainings of the student where scattered all around.

Prof. Oak assumes that all his students have the same resistance. He also assumes that it is equally likely that hh is 0, 1, …, or n1n - 1. He wants to determine hh, but minimizing the expected number of experiments. Additionally, he does not want to sacrifice more than two additional students (they are too valuable). What is the optimal expected cost?

For instance, for n=4n=4 the optimal cost is 2: First, we lock a student (Ivan, for example) for 2 hours. If he does not explode, which will happen with probability 2/42/4, we lock Ivan again for 3 hours. If Ivan does explode during his first experiment, we lock another student (Xavi, for instance) for 1 hour. This way, the (expected) total cost is obviously 2.

Note that initially locking Ivan for 3 hours would be a worse strategy: If he exploded, which would happen with probability 3/43/4, we should lock Xavi for 1 hour, and afterwards perhaps lock Xavi again for 2 hours, for a total expected cost of 9/49/4.

Input

Input consists of several cases, each one with a natural number nn between 1 and 10710^7.

Output

For every nn, print the optimal expected cost to compute hh, with four digits after the decimal point. The input cases have no precision issues.

Public test cases
  • Input

    1
    2
    3
    4
    5
    10000000
    949
    

    Output

    0.0000
    1.0000
    1.6667
    2.0000
    2.4000
    2982.4236
    30.0000
    
  • Information
    Author
    Salvador Roura
    Language
    English
    Official solutions
    C++
    User solutions
    C++