看板 C_and_CPP 關於我們 聯絡資訊
: int factor(a,b) : { : a=1,b; : while(a>=1) : { : b*=a; : a--; : } : return b; : } -- 先講介面上的觀點, 數學表示法中 n! 也只有出現一個數字, 你的 factor( a, b )在形式上就怪怪的...當呼叫的人想要取得 10! 的 數值時, 那他應該呼叫 : 1. factor( 1, 10 ) 2. factor( 10, 1 ) 3. factor( 10, 10 ) 這三種版本哪一個呢 ? 首先在呼叫上就會有讓人不知所措的感覺. -- 你本來的程式中的這行 a = 1, b; 實際上做了兩件事 : 1. a = 1; 2. b; a = 1, 使得迴圈只有執行一次 b *= 1 所以回傳即是第二個引數 的值, 最後的結果是 : 10 / ( 8 * (10 - 8) ) = 10 / 16 = 0 如果把他改成 a = b 從演算法來看, a 從 b 遞減至 1, 累乘結果 存進 b 裡, 第二個引數如果是某個 n 值, 整個結果就會剛好差個 b 倍, 對錯的關鍵在於你有沒有把 b = 1 這行加進去程式碼中( 前提是編譯要過) -- 程式碼 james732 大就有給了, 好好研讀吧, 但是至少請不要按「 右鍵+複製」就收工了事, 每個字慢慢打, 揣摩程式碼撰寫者寫的 時候的想法. -- ◢████ ◢█ ◢██◣ ◢█ ◢███ ◢█ T-ara版怎麼去 ████◢█████s ~> T-ara ███ █ ◢█歡迎您的光臨 ███████████恩靜智妍孝敏 ███ ██ 素妍居麗寶藍 ████◥██◤ █████ψmakigoto123 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.115 ※ 編輯: loveme00835 來自: 140.121.197.115 (10/01 00:31)
hilorrk:love大 好人超 C_AND_CPP版兩大好人XD 10/01 00:33
※ 編輯: loveme00835 來自: 140.121.197.115 (10/01 00:34)
james732:我在高雄唸書 無女友 意者站內信 (喂喂) 10/01 00:35
james732:↑這樣的推文應該不會被水桶吧 XDD 10/01 00:36
tiyun:那警告一次好了XDD 10/01 00:37
VictorTom:哼哼, 有沒有看過被晾在板標的....XD 10/01 00:38
loveme00835:@_@ 我第一次看到 tiyun 出現耶!!!! 真是太幸運了~~^^ 10/01 00:40
yoco315:有人徵女友,那我要應徵,附照 http://tinyurl.com/2cjcvrq 10/01 00:47
loveme00835:樓上正姐!! (誤 10/01 00:51
james732:真的,超正 XDDD 10/01 00:53
hilorrk:我戀愛了...>///< 10/01 01:15
tiyun:XD 推文不要離題囉 10/01 01:27
xatier:遇到 tiyun 了耶!今天該買樂透了! 10/01 07:29
ledia:這篇的推文...... (汗) 10/01 10:17
povertytrap:謝謝原PO大大 10/01 20:25
AmosYang:有下有推 10/01 20:26