2003
01 02 03 04 05 06 07 08 09 10 11 12
2006
01 02 03 04 05 06 07 08 09 10 11 12
2007
01 02 03 04 05 06 07 08 09 10 11 12
2008
01 02 03 04 05 06 07 08 09 10 11 12
2009
01 02 03 04 05 06 07 08 09 10 11 12
2010
01 02 03 04 05 06 07 08 09 10 11 12
2011
01 02 03 04 05 06 07 08 09 10 11 12
2017
01 02 03 04 05 06 07 08 09 10 11 12
2018
01 02 03 04 05 06 07 08 09 10 11 12
 
Dec
8
2017

中年危機與 Project Euler

當兵前曾沈迷過 Project Euler,這是一個有很多數學題的網站,可以手算或寫程式來解,然後上傳答案。解錯了,摸摸鼻子回頭繼續解;解對了,除了像 RPG 練等一樣有數字增加的快感,最讓我興奮的是,你被允許進入「強者殿堂」——專屬該題的秘密討論區,裡面有每個征服過此難題的人,炫耀般留下各種精妙解法讓你大開眼界。

Project Euler 也是有些規定的。儘管沒有硬性要求,他希望每個解答的程式不要跑超過一分鐘(或十分鐘,總之不要太無腦暴力。每個人電腦速度不同,語言效率不同,這只能自由心證)。希望來玩的人藉由思考如何縮短程式執行時間,學到更好的演算法、更深入了解問題的本質。

想起快退伍時,有次我放假在網站上抄了好幾題比較不需電腦也可解的,趁在營區站機動班百無聊賴的時光,竟手算 Fibonacci number 到四五十項。(那次發現,手算還是用線性時間的作法來計算比較簡單,只需要加法。對數時間的方法要用乘法,數字一大,手算很容易出錯)。

後來有正事要做,也荒廢了好一陣子。

時間推移,過著庸庸碌碌的生活,我逐漸發現,我已經失去當年自信滿滿,面對一個有好幾層 Σ 的複雜級數都敢硬展開化簡的勇氣。現在的我大概只會嚅囁著說「……這個怎麼可能做到啊……」然後夾著尾巴逃跑。數學如此,生活也是如此。

面對如此窩囊的中年,我想拾回勇氣。

生活也許沒那麼簡單,但是數學總可以吧。我最近又開始回頭玩 Project Euler 了。希望能夠慢慢找回勇於展開複雜公式、不怕錯誤嘗試的傻勁。

我真的是從這個網站學到很多,最近做到一題是雙重積分,直觀的做法會牽涉到 arctan 裡面有根號的複雜積分。那時我一想也是覺得「這怎麼可能積得出來!」。後來發現交換積分順序以後一切都變得很容易。直到進入「強者殿堂」後,才發現還真的有人硬是把那個 arctan 裡面帶根號的積分給積了出來。

 

Annotations RSS

“文章編號 1234!”

---yllan. 12/8, 2017
 
 

Write Concisely