[問題] 利用遞迴寫 nCr
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
利用 for迴圈可以寫出排列組合中的nCr 但是老師這次要我們利用function call遞迴
寫nCr 並且提供遞迴式 巴斯卡定理-> nCr = (n-1)Cr + (n-1)C(r-1)
....
我除了想到先弄一個int C(int n, int r)之外..就不知道該怎麼辦了 囧
希望得到的正確結果:
利用巴斯卡定理寫出的nCr 而非利用階層相除
程式跑出來的錯誤結果:
完全想不到怎麼寫 囧
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
Ans=?????(不知道要寫甚麼XD)
Ans = C (n-1,r) + C (n-1, r-1);
return Ans;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.221.55
→
12/08 12:32, , 1F
12/08 12:32, 1F
→
12/08 12:33, , 2F
12/08 12:33, 2F
推
12/08 12:50, , 3F
12/08 12:50, 3F
推
12/08 13:17, , 4F
12/08 13:17, 4F
推
12/08 14:36, , 5F
12/08 14:36, 5F
→
12/08 17:12, , 6F
12/08 17:12, 6F
→
12/09 03:46, , 7F
12/09 03:46, 7F