1:角谷予想(プログラム設計とアルゴリズム(一)第4週試験(2017夏))


1:角谷予想
総時間制限:1000 msメモリ制限:65536 kB説明角谷推定とは、任意の正の整数に対して奇数であれば3に1を加え、偶数であれば2を割った結果を上記の規則に従って繰り返し処理し、最終的には1を得ることができることを意味する.例えば、初期整数が5であると仮定すると、計算プロセスはそれぞれ16、8、4、2、1である.プログラムは整数を入力し,処理して1を得るプロセスを出力することを要求する.
正の整数N(N<=200000,000)を入力して入力整数から1までのステップを出力し、各ステップは1行であり、各セクションに計算プロセスが記述される.最後の行出力「End」.入力が1の場合は「End」を直接出力します.サンプル入力5サンプル出力5*3+1=16/2=8 8/2=4 4 4/2=22/2=1 End
本当にobjの中のどの1つの問題を軽視することができないことを発見して、すべての問題はすべて自分の落とし穴があって、例えばこれ、とても簡単な1つの入出力、しかしnデータが大きい情況の下であふれ出ることに注意して、long long整型を使った後に、printfを使うならば、また出力格式が"%lld"であることに注意します.
#include
#include
using namespace std;
//http://cxsjsxmooc.openjudge.cn/2017t1summerw4/1/
long long n,tmp;
int main(){
    while(cin>>n){
        while(n>1){
            if(n%2==1){
                tmp=n*3+1;
                printf("%lld*3+1=%lld
"
,n,tmp); n=tmp; } else{ tmp=n/2; printf("%lld/2=%lld
"
,n,tmp); n=tmp; } } cout<<"End"<