1. 程式人生 > >1147: 【C語言訓練】角谷猜想(其實是3n+1)

1147: 【C語言訓練】角谷猜想(其實是3n+1)

題目描述
角谷猜想:
日本一位中學生髮現一個奇妙的“定理”,請角谷教授證明,而教授無能為力,於是產生角谷猜想。猜想的內容是:任給一個自然數,若為偶數除以2,若為奇數則乘3加1,得到一個新的自然數後按照上面的法則繼續演算,若干次後得到的結果必然為1。請程式設計驗證。

輸入
任一正整數

輸出
演算的過程

樣例輸入
10
樣例輸出
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2

2/2=1

<span style="font-size:18px;">其實不怎麼想發出來的,但是應該還好吧,有些書作為入門例題,下次多發發一些有趣的和通過率低於等於50%的題

//3n+1題
#include<stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	while (n != 1)
	{
		if (n % 2 == 1)
		{
			int sum = n * 3 + 1;
			printf("%d*3+1=%d\n", n,sum);
			n = sum;
		}
		else
		{
			int div = n / 2;
			printf("%d/2=%d\n", n, div);
			n = div;
		}
	}
	return 0;

}
</span>