看板 C_and_CPP 關於我們 聯絡資訊
這幾天因為看到 kyoiku 大問的衝星問題之後 個人有些心血來潮想用 C 語言寫一下相關程式 便改寫規則如下: 1. 等級最大值 F 可任意設定。 2. 等級一開始為 0 星,每次升級需消耗 1 單位經驗。 3. 等級 0 星升為 1 星之機率為 1/2,且升級成功時等級數變為 1 星,否則仍為 0 星。 4. 當等級非 0 星時,該等級 x 升 1 星之機率為 (F–x)/(2*F),否則等級降1星。 5. 可設定試驗次數,且跑完可再回頭跑一次。 由以上幾點想求等級 0 星升至最大等級總共和平均需要多少經驗,所以便寫出以下程式: http://codepad.org/VKfbyT53 可是程式編譯成功執行並打試驗次數和最高等級之後 發現答案怪怪的 居然跑出以下結果: http://i.imgur.com/xD0iL.jpg 不知道是哪裡出了問題 希望知道的大大們能回答一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.28.53
firejox:請善用貼code網站~~ 04/18 01:21
firejox:明明是float 卻用%d... 04/18 01:24
已修改 ※ 編輯: card 來自: 124.9.26.68 (04/18 10:41)
xatier:標題修改建議 04/18 10:54
card:請問一下 x大認為要改成什麼樣的標題會比較好呢? 04/18 11:00
xatier:再探"衝星問題" ? XD 04/18 11:40
card:標題已修改 04/18 12:41
※ 編輯: card 來自: 124.9.26.68 (04/18 12:43)
james732:好亂的程式碼... 04/18 13:01
card:是嗎?個人只是用基本的if/else條件和for、while、do/while迴 04/18 13:06
card:圈由上而下依序跑而已啊 而且程式編輯也都認為沒問題的說 04/18 13:08
card: 譯 04/18 13:09
※ 編輯: card 來自: 124.9.26.68 (04/18 13:10) 已自行解決 ※ 編輯: card 來自: 124.9.26.68 (04/18 19:33)