반응형
https://www.acmicpc.net/problem/6190
구현문제였습니다.
📕 풀이방법
📔 입력 및 초기화
2로 나눌때보다 중간에 3번씩 곱하는 경우가 많을 수 있기 때문에 long long형으로 n을 선언해줘야합니다. 정답을 출력할 score도 선언해준 뒤 n에 입력받습니다.
📔 풀이과정
n이 1이 아닌 동안 while loop를 수행합니다.
1. n이 홀수면 3 * n + 1값을 n에 저장합니다.
2. 짝수면 n / 2값을 저장합니다.
3. 한 번 행동했으므로 score를 1더해줍니다.
📔 정답출력
score를 출력합니다.
📕 Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n, score;
int main(){
cin >> n;
while(n != 1) {
if(n % 2) n = 3 * n + 1;
else n/=2;
score++;
}
cout << score;
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 6436 : Floppies (0) | 2021.12.24 |
---|---|
(C++) - 백준(BOJ) 6249 : TV Reports (0) | 2021.12.23 |
(C++) - 백준(BOJ) 6162 : Superlatives (0) | 2021.12.21 |
(C++) - 백준(BOJ) 6138 : Speed Reading (0) | 2021.12.20 |
(C++) - 백준(BOJ) 6060 : Wheel Rotation (0) | 2021.12.19 |