1086:角谷猜想(C C++)

    科技2022-07-11  161

    【题目描述】

    谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。

    【输入】

    一个正整数N(N ≤ 2,000,000)。

    【输出】

    从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。

    【输入样例】

    5

    【输出样例】

    5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 End

    【代码】

    #include<iostream> using namespace std; int main() { int n; cin>>n; while(1!=n) //n等于1结束循环 { if(0==n%2) //偶数 { cout<<n<<"/2=" ; n/=2; //偶数除2 cout<<n<<endl; } else //奇数 { cout<<n<<"*3+1="; n=n*3+1; //奇数乘3加1 cout<<n<<endl; } } cout<<"End"<<endl; //输出结束 return 0; }
    Processed: 0.026, SQL: 8