結果
問題 | No.2534 コラッツ数列 |
ユーザー |
|
提出日時 | 2024-02-28 17:24:36 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 2,214 bytes |
コンパイル時間 | 1,593 ms |
コンパイル使用メモリ | 179,108 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-09-29 12:25:25 |
合計ジャッジ時間 | 2,720 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
#include <bits/stdc++.h>#define rep(i, p, n) for (ll i = p; i < (ll)(n); i++)#define rep2(i, p, n) for(ll i = p; i >= (ll)(n); i-- )using namespace std;using ll = long long;using ld = long double;double pi=3.141592653589793;const long long inf=2*1e9;const long long linf=8*1e18;template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }//atcoder#include <atcoder/modint>#include <atcoder/dsu>#include <atcoder/segtree>#include <atcoder/lazysegtree>using namespace atcoder;using mint1 = modint1000000007;using mint2 = modint998244353;/*//多倍長整数#include <boost/multiprecision/cpp_int.hpp>using namespace boost::multiprecision;using ci = cpp_int;//ciで定義//https://boostjp.github.io/tips/multiprec-int.html//常時使っているとdouble >> llの適切なキャストができない(ll sqrt(整数)等)ので、基本はコメントアウト*///拡張ユークリッド//input: ll a,b//output: ax+by=gcd(a,b)の解(x,y)(<max(a, b))pair<long long, long long> extgcd(long long a, long long b) {if (b == 0) return make_pair(1, 0);long long x, y;tie(y, x) = extgcd(b, a % b);y -= a / b * x;return make_pair(x, y);}//素数列挙//output: (void)N以下の整数のうち素数であるものをsosuuに返すvoid SR(ll N, vector<ll> &sosuu) {vector<bool> testSR(N+1, true);for(int i=2; i<=N; i++) {if (testSR.at(i)) {sosuu.push_back(i);for(int j=i*2; j<=N; j+=i) {testSR.at(j)=false;}}}}int main() {////////////////////cin.tie(nullptr);ios_base::sync_with_stdio(false);////////////////////ll N;cin >> N;ll co=0;while(co<60) {if (N==1) {co+=2;break;}else {if (N%2==0) {N/=2;}else {N*=3;N++;}co+=2;}}if (co<=50) {cout << "Yes" << endl << co;}else {cout << "No";}}