好難的程式設計

好難的程式設計

第一題就解不出來。或者說,我只會用暴力法來解。感覺好失望,過了這麼久了,重新進去Valladolid Online Judge這個網站去解歷年來的程式設計題目,發現自己一點長進都沒有,第一題就卡住了。花了近一個小時的時間在想這個看起來很簡單的題目,卻想不到好解法…

若N為奇數,則N=3N+1;
若N為偶數,則N=N/2;
重覆上述步驟直到N=1為止。最終所需的遞迴次數稱為N的cycle length。
若任給一個整數範圍J到K,試求此範圍中最大的cycle length為何?

看起來有點像是數學題目,不過我對數學不在行。如果用暴力程式法來解的話,我會需要算出cycle length of J、J+1、J+2、…、K-1、K,然後再找出最大值。如果J很小而K很大(如100000)的話,程式執行的時間肯定會超過限制的30秒。而且,大家的解法似乎都沒超過0.01秒,要是我寫出一個跑超過30秒的就很差勁了…好苦惱啊~

(本頁面已被瀏覽過 163 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料