[問題] 程式跑的"武器衝星期望張數"怪怪的
某遊戲中武器衝星規則如下:
1. 武器初始 0 星,每次衝星需消耗一張武卷。
2. 武器 0 星衝 1 星之機率為 1/2。
3. 衝星成功則武器星數變為 1 星,若否則仍是 0 星。
求武器 0 星衝 1 星平均需用幾張武卷?
Ans: 期望張數 = 1/2 + 2/2^2 + 3/2^3 + ... + n/2^n + ... = 2
(N 張 x 用完 N 張後第一次達到 1 星的機率)
但我寫了個小程式跑出來怪怪的,我是用 code::blocks 10.05 跑的。
程式碼:http://codepad.org/yoldfrhk
上面網頁上跑出來是 2.00001,和用數學算的幾乎一樣。
但同樣的程式碼複製貼到 code::blocks 10.05 上跑跑出來卻是 2.99985,
雖然有用 srand((unsigned) time(NULL)); 改亂數種子,
但我多加一層迴圈讓他重複跑好多次也都和 2 沾不上什麼邊,
問題在哪裡呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.246.251
推
04/15 17:30, , 1F
04/15 17:30, 1F
→
04/15 17:31, , 2F
04/15 17:31, 2F
→
04/15 17:35, , 3F
04/15 17:35, 3F
推
04/15 17:38, , 4F
04/15 17:38, 4F
→
04/15 19:53, , 5F
04/15 19:53, 5F
推
04/15 20:07, , 6F
04/15 20:07, 6F
→
04/15 20:12, , 7F
04/15 20:12, 7F
→
04/15 20:14, , 8F
04/15 20:14, 8F
推
04/15 21:39, , 9F
04/15 21:39, 9F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):