[問題] 二項式係數不等式求值

看板Programming作者 (喜憨人)時間8年前 (2016/10/12 20:20), 8年前編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
版上的先進們好! 我有一個如下的不等式: http://imgur.com/a/dFgzL 目的是要根據輸入變數「F, R, CL」,求 N 值, N 值不會超過 500000, 假設 CL = 0.7 那麼 N 的答案應會如下圖所示: http://imgur.com/a/XBDBt CL=0.7, F=0, R=0.55,N 會等於 3; CL=0.7, F=3, R=0.75,N 會等於 19; CL=0.7, F=4, R=0.95,N 會等於 117; 這是我認為沒錯的部分答案,可是當程式執行 CL=0.7, F=6, R=0.95,N 不會等於 162 而是 132; CL=0.7, F=8, R=0.85,N 不會等於 68 而是 59; CL=0.7, F=10, R=0.75,N 不會等於 49 而是 44; 以下是不才我的程式碼, 是使用C語言撰寫的, 想請問各位先進們可不可以幫幫我找出錯誤的地方做修正, 先謝過大家的幫忙了! 非常感謝! http://pastie.org/10941922 CL=0.7, F=0, R=0.55,i=0時: N=1 不等式前的(value)會是0.55 > (1-0.7) N=2 不等式前的(value)會是0.3025 > (1-0.7) N=3 不等式前的(value)會是0.166375 < (1-0.7) 因此得到 ANSWER N值=3 。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.3.128 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1476274825.A.CFD.html ※ 編輯: reister (49.214.3.128), 10/12/2016 20:27:11

10/12 21:23, , 1F
隨便亂猜 改成int factorial(int n)如何?
10/12 21:23, 1F

10/12 21:41, , 2F
把combin回傳型別改成double
10/12 21:41, 2F

10/12 21:42, , 3F
combin裏頭的C 也改成 double
10/12 21:42, 3F
謝謝兩位大大的幫助,改成double型態後的確可讓部分數值正確, 但是像CL=0.7 F=9 R=0.95 得到的N值=172 似乎無法得到正確的227 :(

10/12 22:08, , 4F
爆掉了吧 值太大
10/12 22:08, 4F
我把型態改變成 long double 發現終於可以滿足現況了! 再次感謝各位的指點迷津! ※ 編輯: reister (49.214.3.128), 10/12/2016 22:18:36

10/12 22:23, , 5F
10/12 22:23, 5F
文章代碼(AID): #1N_Yg9pz (Programming)
文章代碼(AID): #1N_Yg9pz (Programming)