結果

問題 No.887 Collatz
ユーザー warm4C0
提出日時 2023-05-07 19:43:23
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 500 bytes
コンパイル時間 1,424 ms
コンパイル使用メモリ 158,608 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-24 18:50:44
合計ジャッジ時間 2,049 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

class Ans {
public:
	ll i1 = 1;
	ll n_max = 1;
	Ans(ll _i1, ll _n_max) {
		i1 = _i1;
		n_max = _n_max;
	}
};

Ans solve(ll n0) {
	Ans ans(1, n0);

	ll i = 1, x = n0;
	while(x != 1) {
		if (x&1) {
			x = 3*x+1;
		} else {
			x = x>>1;
		}
		ans.n_max = max(ans.n_max, x);
		i++;
	}
	ans.i1 = --i;

	return ans;
}

int main() {
	ll n0;
	cin >> n0;

	Ans ans = solve(n0);

	cout << ans.i1 << endl << ans.n_max << endl;

	return 0;
}
0