角谷猜想(信息学奥赛一本通-T1086)
生活随笔
收集整理的這篇文章主要介紹了
角谷猜想(信息学奥赛一本通-T1086)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
角谷猜想,是指對于任意一個正整數,如果是奇數,則乘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() {long int n,a;cin>>n;while(n!=1){if(n%2)//n為奇數{cout<<n<<"*3+1="<<n*3+1<<endl;n=n*3+1;}else//n為偶數{cout<<n<<"/2="<<n/2<<endl;n/=2;}}cout<<"End"<<endl;return 0; }?
總結
以上是生活随笔為你收集整理的角谷猜想(信息学奥赛一本通-T1086)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛C++语言:插队问题
- 下一篇: 计算三角形面积(信息学奥赛一本通-T10