본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 4655 : Hangover

반응형

https://www.acmicpc.net/problem/4655

 

4655번: Hangover

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

www.acmicpc.net

loop, if, 표준입출력을 사용해보는 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

 1. while loop를 수행합니다. 지역변수 cnt = 1로 초기화해줍니다. c와 length를 선언해주고 length를 0으로 초기화해줍니다. 2. c를 입력해줍니다. 3. c가 0.0이면 loop를 탈출해줍니다.

📔 풀이과정

for loop를 수행하며 공식을 적용해 지정길이 이상을 초과하면 해당 값을 cnt에 저장하고 loop를 탈출해줍니다.

📔 정답출력

cnt를 지정 문자열과 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int main(){
    while(1){
        int cnt = 1;
        double c, length = 0;
        cin >> c;
        if(c == 0.0) break;
        for(int i = 1; ; i++) {
            length += 1.0 / (i+1);
            if(length >= c) {cnt = i; break;}
        }
        cout << cnt << " card(s)\n";
    }
}