본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 6190 : Another Cow Number Game

반응형

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

 

6190번: Another Cow Number Game

The cows are playing a silly number game again. Bessie is tired of losing and wants you to help her cheat. In this game, a cow supplies a number N (1 <= N <= 1,000,000). This is move 0. If N is odd, then the number N is multiplied by 3 and incremented by 1

www.acmicpc.net

구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

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;
}