1. 程式人生 > >角谷猜想

角谷猜想

cti std 重復 clu ret 要求 ber code 如果

描述

所謂角谷猜想,是指對於任意一個正整數,如果是奇數,則乘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<stdio.h>
int main()
{
	unsigned long long int n;
	scanf("%ld",&n);
	while(n!=1)
	if(n%2)
	{printf("%ld*3+1=%ld\n",n,n*3+1);
	n=n*3+1;
	}
	else
	{
	 printf("%ld/2=%ld\n",n,n/2);
	 n=n/2;
    }
    printf("End\n");
    return 0;
}

角谷猜想