怎樣讓一個編程新手的演算法思路,邏輯思路變清晰?

『對已有的計算 0 - 100 的while循環進行改造,通過增加 continue 語句,使得只計算奇數的和。』 像這種,還有『利用 while True 無限循環配合 break 語句,計算 1 + 2 + 4 + 8 + 16 + ... 的前20項的和。『這種,我完全不知道怎麼用變數來表示,簡直把我逼瘋了,有什麼好的方法能夠讓人在這方面劣勢轉優勢呢。


從流程圖畫起吧,不要一上來就寫代碼。流程圖的結構鬆散,你用流程圖把問題解決比較容易,然後再想辦法把流程圖編程代碼。代碼結構比較緊湊,所以你最後得到的代碼有可能會比較丑。不過反正對你來說能跑就行了。


你需要建立編程的概念和一般方法。
對於這個問題,你可以嘗試從最細節開始考慮,然後考慮這個想法會不會在特殊情況、邊界條件下出錯。
比如對於第一個問題:在當前數是偶數的時候,直接跳過去,是不是就可以了?
(當然,這個題可以簡單地每次加2)
對於第二個問題:是不是每次循環裡面,加2的N次方就可以了?


《編寫可讀代碼的藝術》 鮑斯維爾(Dustin Boswell), 富歇(Trevor Foucher), 尹哲, 鄭秀雯【摘要 書評 試讀】圖書


你舉的2個例子是數學問題^﹏^
多練習才是王道


推薦閱讀:

老大隻讓用vi寫代碼該怎麼破?
如何維護可讀性很差的代碼?
雷軍問我:你寫程序有寫詩一樣的感覺嗎?
哪種語言適合沒有編程經驗的人學習?
為什麼階乘一定是偶數?

TAG:演算法 | 編程 | 趣味數學 |