반응형
https://www.acmicpc.net/problem/4655
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";
}
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 4758 : Filling Out the Team (0) | 2021.12.07 |
---|---|
(C++) - 백준(BOJ) 4714 : Lunacy (0) | 2021.12.07 |
(C++) - 백준(BOJ) 4635 : Speed Limit (0) | 2021.12.05 |
(C++) - 백준(BOJ) 4632 : Copier Reduction (0) | 2021.12.04 |
(C++) - 백준(BOJ) 6810 : ISBN (0) | 2021.12.03 |