Re: [問題] 我的寫法 跑不出老師的答案

看板C_and_CPP作者 (最愛朴素妍)時間15年前 (2010/10/01 00:23), 編輯推噓6(609)
留言15則, 10人參與, 最新討論串2/3 (看更多)
: 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)

10/01 00:33, , 1F
love大 好人超 C_AND_CPP版兩大好人XD
10/01 00:33, 1F
※ 編輯: loveme00835 來自: 140.121.197.115 (10/01 00:34)

10/01 00:35, , 2F
我在高雄唸書 無女友 意者站內信 (喂喂)
10/01 00:35, 2F

10/01 00:36, , 3F
↑這樣的推文應該不會被水桶吧 XDD
10/01 00:36, 3F

10/01 00:37, , 4F
那警告一次好了XDD
10/01 00:37, 4F

10/01 00:38, , 5F
哼哼, 有沒有看過被晾在板標的....XD
10/01 00:38, 5F

10/01 00:40, , 6F
@_@ 我第一次看到 tiyun 出現耶!!!! 真是太幸運了~~^^
10/01 00:40, 6F

10/01 00:47, , 7F
有人徵女友,那我要應徵,附照 http://tinyurl.com/2cjcvrq
10/01 00:47, 7F

10/01 00:51, , 8F
樓上正姐!! (誤
10/01 00:51, 8F

10/01 00:53, , 9F
真的,超正 XDDD
10/01 00:53, 9F

10/01 01:15, , 10F
我戀愛了...>///<
10/01 01:15, 10F

10/01 01:27, , 11F
XD 推文不要離題囉
10/01 01:27, 11F

10/01 07:29, , 12F
遇到 tiyun 了耶!今天該買樂透了!
10/01 07:29, 12F

10/01 10:17, , 13F
這篇的推文...... (汗)
10/01 10:17, 13F

10/01 20:25, , 14F
謝謝原PO大大
10/01 20:25, 14F

10/01 20:26, , 15F
有下有推
10/01 20:26, 15F
文章代碼(AID): #1CfBcM-P (C_and_CPP)
文章代碼(AID): #1CfBcM-P (C_and_CPP)