開啟章節選單
100 The 3n + 1 problem
#include <bits/stdc++.h> using namespace std; #define int long long int ans, cnt; void f(int x) { cnt++; if (x == 1) return void(ans = max(ans, cnt)); if (x&1) return f(3*x+1); return f(x/2); } signed main() { int a, b; while (cin >> a >> b) { cout << a << ' ' << b << ' '; ans = -1e9; if (a > b) swap(a, b); for (int i = a; i <= b; i++) { cnt = 0; f(i); } cout << ans << endl; } }