[問題] C和組合
最近遇到一個問題
===============================
如果手上有50,10,5,1元可以使用
使用者隨便輸入一個數字當作金額
試問有多少種組合?
===============================
還滿有趣的!
一開始我在想程式要怎麼學會分堆@@
後來想法是先數學化
50x+10y+5z+a=輸入的數字
很像我高一學的一個題目
"求非負整數解個數"
但是因為係數不同...
加上電腦的數字有限制範圍
必須要用到大數的乘法...
一整個囧!
希望有大大能夠解答!
感謝:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.226.15.183
※ 編輯: wa007123456 來自: 125.226.15.183 (10/12 08:10)
→
10/12 08:14, , 1F
10/12 08:14, 1F
推
10/12 08:27, , 2F
10/12 08:27, 2F
推
10/12 08:47, , 3F
10/12 08:47, 3F
→
10/12 13:31, , 4F
10/12 13:31, 4F
→
10/12 13:31, , 5F
10/12 13:31, 5F
這個的話..因為他有辦法用數學導出一個出每項未知數的係數都為1的做法
但是我的係數有50 10 5 1
如果係數都是1 那直接使用 C(n+k-1,k) 來完成 瞬間秒殺
n=n個事物 ex:我舉的例子有4個事物
k=選取k個的組合
例如說有三個未知數
x+y+z=7
可以把他想成把7個單位物件 分給三個未知數
我們可以想像如下:
假設這裡有7顆球 我用兩條線來分成三組
例如
OO|OOOO|O
代表第一個人有兩顆球 第二個人有4顆 第三個人1顆
把他做排列的話就是 9!
在除以相同物排列 2! 和 7!
所以9!/(2!*7!)=36種分法
我想要用組合的方法解決他
或許我應該去數學版問問看@@
不過真的謝謝你:)
→
10/12 13:48, , 6F
10/12 13:48, 6F
推
10/12 13:50, , 7F
10/12 13:50, 7F
※ 編輯: wa007123456 來自: 125.226.15.183 (10/12 14:20)
推
10/12 14:23, , 8F
10/12 14:23, 8F
→
10/12 14:33, , 9F
10/12 14:33, 9F
→
10/12 18:18, , 10F
10/12 18:18, 10F
推
10/13 11:37, , 11F
10/13 11:37, 11F
討論串 (同標題文章)