1147: 【C語言訓練】角谷猜想(其實是3n+1)
阿新 • • 發佈:2019-01-03
題目描述
角谷猜想:
日本一位中學生髮現一個奇妙的“定理”,請角谷教授證明,而教授無能為力,於是產生角谷猜想。猜想的內容是:任給一個自然數,若為偶數除以2,若為奇數則乘3加1,得到一個新的自然數後按照上面的法則繼續演算,若干次後得到的結果必然為1。請程式設計驗證。
輸入
任一正整數
輸出
演算的過程
樣例輸入
10
樣例輸出
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
角谷猜想:
日本一位中學生髮現一個奇妙的“定理”,請角谷教授證明,而教授無能為力,於是產生角谷猜想。猜想的內容是:任給一個自然數,若為偶數除以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>