작성일 :

문제 링크

6190번 - Another Cow Number Game

설명

문제의 목표는 주어진 규칙에 따라서, 입력으로 주어진 숫자에 대한 총 점수를 구하는 것입니다.

점수를 계산하는 규칙은 다음과 같습니다.

  • 홀수의 경우 3 을 곱한 후 1 을 더한 것이 다음 숫자
  • 짝수의 경우 2 로 나눈 것이 다음 숫자
  • 숫자가 1 이 될 때 까지 반복하며, 각 반복마다 점수는 1씩 증가

입력으로 주어지는 숫자에 대하여, 위 규칙에 따라서 점수를 계산한 후 출력합니다.

점수 계산 과정 중 숫자가 int 의 범위를 초과할 수 있음에 주의합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var n = long.Parse(Console.ReadLine()!);

      int score = 0;
      while (n != 1) {
        if (n % 2 == 0) n /= 2;
        else n = 3 * n + 1;
        score++;
      }

      Console.WriteLine(score);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  ll n; cin >> n;

  int score = 0;
  while (n != 1) {
    if (n % 2 == 0) n /= 2;
    else n = 3 * n + 1;
    score++;
  }

  cout << score << "\n";

  return 0;
}