件名の説明:
Kharazi(Callatz)の推測:
任意の正の整数nに対して、それが偶数である場合、それは半分に、半分が奇数の場合、(3N + 1)カット。これを繰り返し、最後にn = 1のステップで取得するようになった、切断されています。数学の1950 World CongressでKharaziは、この推測を発表しました伝説のエール大学の教師と学生啓東元だった、必死にこの一見愚かな素朴な命題を証明したい、学生は不注意そんなにノイズ研究、1枚ののみのカードを結果(3N 1)、一部の人々は、これは陰謀であると言うので、Kharaziが意図的にアメリカの数学教育と研究の進展を遅らせた......
私たちの話題は本日、証拠民家ラズ予想ではなく、任意の正の整数で千を超えないN、単に= 1つの必要性のn取得する方法を多くの手順(いくつかのカット)、数を数えますか?
入力フォーマット:
各テストは、テスト入力、すなわち、値任意の正の整数Nを含みます。
出力フォーマット:
Nは、ステップの所望の数の出力から算出されます。
サンプル入力:
3
出力例:
5
問題解決のためのアイデア
対象は、それが偶数か奇数異なる処理、ステップのために決定され、見ることができ++
コード
#include<iostream>
using namespace std;
int main() {
int n;
cin>>n;
int count=0; //步数
while(n!=1) {
if(n%2==0) { //偶数
n /= 2;
}
else { //奇数
n = (3*n+1)/2;
}
count++;
}
cout<<count<<endl;
return 0;
}