學習軌道
/
Common Lisp
Common Lisp
/
練習
/
考拉茲猜想
考拉茲猜想

考拉茲猜想

簡單

簡介

某天晚上,你偶然發現了一本舊筆記本,裡頭寫滿了神祕難解的潦草字跡,彷彿有人正執著地追逐著某個念頭。 其中一頁上,有個問題格外醒目:每個數字都能找到通往 1 的路嗎? 它與一個叫做Collatz Conjecture的東西有關,這道謎題困擾了無數思想家數十年。

規則看似簡單,實則不然。 隨便挑一個正整數。

  • 如果是偶數,就把它除以 2。
  • 如果是奇數,就把它乘以 3 再加 1。

接著,對得到的結果重複這些步驟,就這樣無限循環下去。

出於好奇,你挑了數字 12 來測試,就此展開這段旅程:

12 ➜ 6 ➜ 3 ➜ 10 ➜ 5 ➜ 16 ➜ 8 ➜ 4 ➜ 2 ➜ 1

從第二個數字(6)開始算起,一共花了 9 步才抵達 1,而且每套用一次規則,數字就持續變化。 起初,這個數列看起來毫無規律,忽上忽下,變幻莫測。 然而,這個猜想主張,無論起始數字是什麼,最後都一定會抵達 1。

這既迷人,又令人費解。 為什麼這似乎總是行得通? 會不會有某個數字,會讓這個過程崩解,永遠循環下去,或是一路奔向無窮? 筆記本暗示,解開這個謎題或許能揭露出某些深奧的道理,而伴隨而來的是名聲、財富,以及名留青史,這些都等著能解開它祕密的人。

說明

給定一個正整數,請依照考拉茲猜想的規則,回傳它達到 1 所需的步數。


出處

Wikipedia連結會在新視窗或分頁中開啟
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Common Lisp Exercism

準備好開始 考拉茲猜想 了嗎?

註冊 Exercism,透過 27 個概念92 個練習 和真人引導來學習並精通 Common Lisp,全部免費。