国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

趣味數(shù)學(xué)

2021-07-15 20:22陳新龍
電腦報 2021年19期
關(guān)鍵詞:奇數(shù)偶數(shù)冰雹

陳新龍

冰雹猜想雖然運算規(guī)則簡單,但這個謎題至今都沒能被證明出來。冰雹猜想規(guī)則很簡單,任意寫出一個(非零)自然數(shù)N,并且按照規(guī)律進(jìn)行變換:如果是個奇數(shù),則下一步變成 3N+1;如果是個偶數(shù),則下一步變成 N/2,數(shù)列最終都會回到1。在45年前這個數(shù)學(xué)游戲剛剛出現(xiàn)時學(xué)生、教師、教授,甚至是一等一的數(shù)學(xué)大咖都紛紛加入這個看似簡單的數(shù)學(xué)游戲,人們?nèi)×烁鞣N各樣的數(shù)字N去檢驗這個算法,最終都無一例外地墜入自然數(shù)序列4→2→1。于是就自然萌生出這樣的猜想:對于任意非零自然數(shù)N,經(jīng)上述變換最終都將落入4→2→1序列的宿命。這就是“冰雹猜想”或稱“角谷猜想”。根據(jù)數(shù)學(xué)家的研究任何小于7×1011的所有的正整數(shù),都符合這個規(guī)律。

例如輸入自然數(shù)N=6。6是偶數(shù),要先除以2,6÷2=3;3是奇數(shù),要將它乘3之后再加1,3×3+1=10;按照上述法則繼續(xù)往下做:10÷2=5,5×3+1=16,16÷2=8,8÷2=4,4÷2=2,2÷2=1。從6開始經(jīng)歷了3→10→5→16→8→4→2→1,最后得到1。其實冰雹猜想最大的魅力在于其不可預(yù)知性,數(shù)字轉(zhuǎn)化過程變化莫測,有時候平緩溫和,有時候劇烈浮沉,無一例外都會墜入4→2→1的谷底,好比是一個數(shù)學(xué)黑洞,將所有的自然數(shù)牢牢吸住(圖1)。

27的歸一要經(jīng)過劇烈波動

由于這個猜想計算簡單但需要重復(fù)多次計算,用程序來計算更加合適,看看我們給出的數(shù)字最后是否歸一,我們選擇Scratch和C語言分別進(jìn)行編寫。通過兩種語言使用相同的算法讓大家從圖形化編程轉(zhuǎn)向純代碼編程,提高編程能力(圖2)。

首先用戶輸入一個數(shù)字,設(shè)置兩個變量,一個變量記錄用戶輸入的數(shù)字,變量“步數(shù)”記錄完成歸一的變化次數(shù)。由于該猜想認(rèn)為輸入任何數(shù)字最后的結(jié)果都等于1,所以循環(huán)中止條件為數(shù)字等于0或等于1時,跳出循環(huán)。循環(huán)中有兩個條件,當(dāng)數(shù)字是奇數(shù)時,將數(shù)字×3+1,輸出到列表中;如果數(shù)字是偶數(shù),將數(shù)字/2,輸出到列表中(圖3)。

我們將Scratch中使用的算法用到C語言中,首先scanf輸入一個非零整數(shù),然后添加一個while循環(huán),在循環(huán)中進(jìn)行判斷,數(shù)字為奇數(shù)時乘3加1,數(shù)字為偶數(shù)時除以2,直到最后數(shù)字等于1時結(jié)束循環(huán)。輸出每次運行后的值。

#include

int main()

{

int N, i = 0, j = 0;

printf("請輸入一個非0整數(shù):");

scanf("%d",&N);

while( N != 0 && N !=1 )

{

if (N%2 == 0)

{

N = N / 2;

i++;

printf("%d--",N);

}

else if( N%2 == 1)

{

N = 3*N+1;

i++;

printf("%d--",N);

}

}

printf("結(jié)束\n此次冰雹猜想的變換次數(shù) == %d\n",i);

return 0;

}

無需安裝配置編輯環(huán)境,搜索“C在線工具”在網(wǎng)頁上執(zhí)行代碼,運行結(jié)果一致(圖4)。

當(dāng)我們掌握C語言的語法之后,按照正確的思路就很容易編寫出完整的代碼,無需畏懼代碼編程。

猜你喜歡
奇數(shù)偶數(shù)冰雹
冰雹是冰的,卻為何出現(xiàn)在夏天
奇數(shù)湊20
盛夏冰雹
夏日冰雹
談“奇數(shù)與偶數(shù)”的教學(xué)處理
抓住數(shù)的特點求解
有多少個“好數(shù)”?
奇偶性 問題
聊城市| 青海省| 法库县| 正蓝旗| 绥芬河市| 花莲县| 德兴市| 泽库县| 淳安县| 华亭县| 营口市| 彝良县| 乌拉特前旗| 武清区| 东山县| 平南县| 广东省| 威远县| 平邑县| 黄浦区| 孟州市| 兴化市| 化隆| 治多县| 仙桃市| 苏尼特右旗| 麻阳| 洪雅县| 深泽县| 长垣县| 玉屏| 雅江县| 宁国市| 正宁县| 黄骅市| 滨海县| 昭平县| 新龙县| 青州市| 大安市| 河间市|