Re: [問題] 扔n次骰子,各種點數和的機率

看板C_and_CPP作者 (蠟筆)時間9年前 (2015/01/19 10:04), 編輯推噓7(709)
留言16則, 7人參與, 最新討論串2/6 (看更多)
試著寫寫看 語法沒有很在意 void GetPossibilityOfThrowDice (int numberOfDice) { // We want to get resultArray from 1 to 6N int *resultArray = new int[6*numberOfDice+1]; SubFunction (0, numberOfDice, resultArray); for(int i=0; i<=numberOfDice*6; i++) { printf("%d with possibility %f\n", i, (float)resultArray[i]/6*numberOfDice); } } void SubFunction (int subSum, int remainingDice, int* resultArray) { // End Condition if (remainingDice == 1) { for (int i=1; i<=6; ++i) { resultArray[subSum+i] += 1; } } for (int i=1; i<=6; ++i) { SubFunction (subSum+i, remainingDice-1, resultArray); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.197.148.13 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1421633065.A.CF0.html

01/19 10:04, , 1F
命名好討厭>"<
01/19 10:04, 1F

01/19 10:49, , 2F
C# 風
01/19 10:49, 2F

01/19 11:02, , 3F
WAY TOO LONG
01/19 11:02, 3F

01/19 12:55, , 4F
喔喔我參考看看0.0
01/19 12:55, 4F

01/19 16:22, , 5F
這樣好像會造成跑不完的遞迴
01/19 16:22, 5F

01/19 17:27, , 6F
丟20次骰子,程式就跑不動了,可是這是功課要求的(噴笑)
01/19 17:27, 6F

01/19 18:30, , 7F
遞迴只要層數一多一定會很慢
01/19 18:30, 7F

01/19 18:41, , 8F
是阿,吃完飯回來寫個20層for迴圈跑跑看
01/19 18:41, 8F

01/19 20:03, , 9F
20 層要求多少時間啊??
01/19 20:03, 9F

01/19 20:06, , 10F
沒有限定要跑多久,只要結果
01/19 20:06, 10F

01/19 21:05, , 11F
不過不管怎樣暴力法應該跑不完吧?? XD
01/19 21:05, 11F

01/19 21:05, , 12F
我是還沒真的寫20層迴圈下去......
01/19 21:05, 12F

01/19 21:17, , 13F
怎麼可能真的寫20層迴圈,用遞迴寫 DP 一下就算完了
01/19 21:17, 13F

01/19 22:45, , 14F
看好久總算看出規則... http://ideone.com/WTJCCl
01/19 22:45, 14F

01/20 16:24, , 15F
01/20 16:24, 15F

01/21 17:03, , 16F
01/21 17:03, 16F
文章代碼(AID): #1Kl6Ofpm (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Kl6Ofpm (C_and_CPP)