(0)卡拉茲猜想:取任意一個自然數m,若m是偶數,執行m/2;若m是奇數,則執行3m+1,如此反覆疊代下去,必定會落入到4,2,1的陷阱中來。 我們隨便測試幾個數吧,比如17:52‑>26->13->40->20->10->5->16->8->4->2->1;
原文網址:https://kknews.cc/news/5e8342l.html
(1) 在notepad(記事本)輸入如下程式碼並存檔為d:\a.htm(存檔類型要選所有檔案)
<body bgcolor=lightblue> <script> var b=[];
var x= parseInt(prompt("請輸入x=","7")); document.write("你輸入的x=" + x + "<br>"); do { b.push(x); document.write( x + " : "); if (x % 2==0 ) x= parseInt(x / 2); else x=3*x+1; } while (x > 1); b.push(x); document.write( x + ":將卡拉茲數列一一PUSH到堆疊b完成。<br>");
document.write("將堆疊b中的卡拉茲數列一一POP出來如下:<br>"); while (b.length > 0) { x=b.pop(); document.write( x + " : "); } </script> </body>
(2)用firefox開啟d:\a.htm,瀏覽結果如下:
你輸入的x=7 7:22:11:34:17:52:26:13:40:20:10:5:16:8:4:2:1:將卡拉茲數列一一PUSH到堆疊b完成 將堆疊b中的卡拉茲數列一一POP出來如下: 1 : 2 : 4 : 8 : 16 : 5 : 10 : 20 : 40 : 13 : 26 : 52 : 17 : 34 : 11 : 22 : 7 :
(3)可參考的JavaScript程式
|