[B] PATは(3N + 1)推測の魅力を殺し

件名の説明:

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;
}
公開された55元の記事 ウォン称賛30 ビュー9814

おすすめ

転載: blog.csdn.net/chaifang0620/article/details/104852605