設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:
萬維讀者網 > 靈機一動 > 帖子
我的第一次 0 + 1
送交者: 零加一中 2005年08月07日10:07:23 於 [靈機一動] 發送悄悄話

我原本打算將短文取名為<我的第一個 C Program>, 但後來一想,現在這電腦民工車載斗量的, 這樣的題目還會有誰來看. 寫程序嗎,不管哪種語言,,最終當然是通過 0 + 1 來間接實現的, 但我的第一個C程序真還直接應用了二進制算符 (bitwise operator), 所以這個標題還不算誤導和譁眾取寵.

事情先要從我舅舅說起. 舅舅是一個優秀的科學家, 如能得到舅媽同意, 我打算單獨擇文紀念他老人家(染料塗料工程師兼色盲, 先吊吊大家胃口). 小時候有一次去舅舅家, 我倆都閒着沒事, 他就招呼我過去玩個遊戲. 他拿出15根火柴, 分成三堆,分別為三根,五根,七根. 規則很簡單, 兩人輪流拿, 數量不限, 誰拿到最後一根就算輸了. 唯一的限制是每次只能從同一堆里拿.我先拿是輸, 後拿也是輸, 十幾個回合下來, 他已看出我不可救藥, 就把規則告訴了我.後來我看到一本書, 裡面詳細介紹了這個遊戲以及決定輸贏的數學原理. 原來這遊戲並不限於三五七,堆數可以任意, 每堆的火柴數也可任意, 當然不用火柴也可以. 不管你如何變化, 輸贏由一條相當簡單的規則決定, 必須用二進位制表述.

在完成Courant 數學研究所的博士後研究以後, 正好美國在老布希同志領導下昂首闊步進入經濟衰退, 我只好靠漢語拼音的功底在紐約市教育局雙語教育部門混飯吃.當然這並非長久之計, 於是聽從朋友建議開始學C, 為下海作準備. 這玩藝我以前也學過, 但因為沒有動力, 讀了第一章後就把書給丟一邊了, 然後周而復始. 所以前幾章總讀了六七遍不止, 但還是C盲一個. 因為無經驗可總結, 只好總結教訓, 發覺空對空是問題所在. 當初我學FORTRAN, 就是為了完成一個課題,暑假修了三星期課. 三星期過後, 學分拿到了, 課題也完成了.

既然空對空不好,那就空對”地”吧. 這塊地可是不好找, 我於是想起了舅舅傳授的火柴杆遊戲. 因為這遊戲需要用到二進制, 想來這快地不錯. 說時遲,那時快, 我就開始寫起來了, 碰到問題就向書本請教. 如果還是三五七, 沒準會被人琢磨出來. 我就把最多允許堆數和每堆最多允許火柴數加以擴大. 電腦里沒有火柴, 我就用$代替. 三五七自然還是第一選擇, 但挑戰者如覺得不過癮, 可以選上十堆八堆的. 你可以和朋友玩, 也可以和機器玩. 當然如果和機器玩的話, 即使三五七, 一般也就是(人)”肉包子”了. 這程序儘管很小, 但用到的概念極多, 等到寫完, 書已經看了好幾遍了. 看來這”塊”地是選對了. 正象買房子所說的, Location, Location, Location. 兩三個星期後, “大功告成”.

前面說過,這遊戲的數學原理要用二進制表述, 所以每一回合以後, 先要做成百上千的除二, 運算完成後再要做成千上百的乘二. 於是我重返故地, 看看能否用二進制直接運算, 真還給我找到了, 就是前面提到的二進制算符. 程序很小, CPU 的差別無法看出, 但我想二三十倍是起碼的, 如果是一百倍我也不會驚訝.

我的電腦沒有C的軟件, 於是我就去NYU. 一切準備工作做好, 一個回車, 我把眼睛瞪得象電燈泡, 希望看到好消息. 沒這樣的好事, 一大堆從來沒見過的錯誤呈現在眼前. 我就找了個熟識的小朋友幫忙. 他稱讚我的程序寫得不錯, 只是C的一些概念和FORTRAN太不一樣,所以出錯了. 兩小時不到, 大功告成,這次可是沒有引號的,而且是0 + 1 型的. 一大幫小天才圍了上來, 要和機器人決一高低, 均以肉包子告終.

以後我還寫了個”韓信點兵”的程序.這個遊戲的訣竅可在<十萬個為什麼>上找到, 我就不保密了: “三人成行七十稀, 五樹梅花二十一枝, 七子團圓是月半, 除百零五便得知.” 我把這兩個程序的EXE放在一張碟片上, 每次面試都帶着, 哪知從來沒人想看看我對C是真懂還是假懂. 歷盡千辛萬苦, 我總算在華爾街的一家軟件公司找到了第一份工作, 主攻房屋貸款的模型, 這張碟片還是沒用到. 我的第一個模型出來後, 久久沒見到程序員完工的通知.他說既然這是個初步的模型, 以後還要改, 他就不浪費時間了, 等全部完成他再來寫程序. 天哪, 他是要我們用一枝筆一張紙來找出模型的不足之處並加以改進. 我自告奮勇說,計算部分的程序我可以寫, 但我不知道如何與公司的軟體銜接. 公司的二老板說, 銜接問題由他來做. 我的老闆將信將疑,”你還會C?” 我說不是寫在簡歷上嗎? 他說他也看到的, 不過大家都這樣寫的. 我把這張碟片的故事告訴他, 他興致極高, 叫我拿出來, 在上班時間玩了好一陣子, 最後毫無例外地成了肉包子.

這是一個DOS的EXE文件, 如哪位高手知道如何貼上此網葉,請與班長聯繫, 我很樂意讓大家試試身手, 嘗嘗成為肉包子的味道.

0%(0)
0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖