描述
所謂角谷猜想,是指對于任意一個正整數,如果是奇數,則乘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
來源
6179
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long n,t;
cin >> n;
while(n!=1)
{
if(n%2==1)
{
t = n*3+1;
printf("%ld*3+1=%ld\n",n,t);
}else{
t = n/2;
printf("%ld/2=%ld\n",n,t);
}
n = t;
}
printf("End\n");
return 0;
}