[問題] 生日悖論

看板C_and_CPP (C/C++)作者 (Sher)時間9年前 (2017/03/27 00:14), 9年前編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Dev c 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) No 問題(Question): 新手發問 程式主要是算生日悖論發生的機率 並且要用經驗法則去驗證 5000次中 n個人至少有2人是同天的機率 主要問題點就是我該怎麼去驗證陣列days[j]內是否有相同的數字?!也就是如何驗證同天 生日 像是說如果只是2個人那if(days[j]==days[j+1)就可以了 但當延伸到2個人以上時就不夠用了 因為可能會發生days[0]==days[2] ,days[1]==days[3], days[32]==days[48] .... etc( 也就是說可能是第2人跟第48人同天生日或第3人跟 第5人同天 等) 有餵狗可是好像沒找到解決方法 請問各位大大該怎麼解決呢 餵入的資料(Input): 預期的正確結果(Expected Output): 這是直接用機率計算的 程式結果大略相等即可 http://i.imgur.com/S4F5Nsa.jpg
錯誤結果(Wrong Output): http://i.imgur.com/D98sdDA.jpg
程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/1Wy0YkW8 http://i.imgur.com/mjFTOjG.jpg
補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.237.13 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1490544864.A.DDD.html ※ 編輯: achicn3 (180.217.237.13), 03/27/2017 00:27:56

03/27 00:29, , 1F
我剛剛想到了用stack儲存生日 之後在往前搜尋有無同天生
03/27 00:29, 1F

03/27 00:29, , 2F
日 有的話次數就加一 感覺上是可以的 晚點試試看 有其他
03/27 00:29, 2F

03/27 00:29, , 3F
更好的方法嗎
03/27 00:29, 3F

03/27 00:39, , 4F
生日只有 366 個,統計每天生日的各有幾人就知道了
03/27 00:39, 4F

03/27 00:39, , 5F
這方法叫 distribution counting
03/27 00:39, 5F

03/27 01:43, , 6F
感謝s大 有想法了應該做的出來!!!
03/27 01:43, 6F
文章代碼(AID): #1Or-ZWtT (C_and_CPP)
文章代碼(AID): #1Or-ZWtT (C_and_CPP)