Kodemonk

HANGOVER – Hangover

Problem:

How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We’re assuming that the cards must be perpendicular to the table.) With two cards you can make the top card overhang the bottom one by half a card length, and the bottom one overhang the table by a third of a card length, for a total maximum overhang of 1/2 + 1/3 = 5/6 card lengths. In general you can make n cards overhang by 1/2 + 1/3 + 1/4 ++ 1/(n + 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/(n + 1). This is illustrated in the figure below.

Read More Here


Hint: Try to use the formula that is given in the problem.


Code:


#include<bits/stdc++.h>
using namespace std;

int main(){
   
   while(true){
       float length;
       cin>>length;
       if(length == 0.0)
        break;
        
       float sum=0;
       int count =0,i = 2;
       
       while(sum < length){
           sum = sum + (1.0/i);
           i++;
           count++;
       }
       cout<<count<<" card(s)"<<endl; 
   }
        
    return 0;
}

Explanation: In our code we just implemented the formula that is given above.  Number of cards required to to make the length 5.2  is 276.  So we can also store the maximum length possible for every length up to 276.

Share This:

Next Post

Previous Post

© 2017 Kodemonk

Theme by Anders Norén