Re: [語法] 自己寫的計算Cn取m 在奇怪的地方會出錯

看板C_and_CPP作者 (十三)時間16年前 (2009/11/07 22:01), 編輯推噓6(607)
留言13則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《tw00088437 (喵貓 loves fish)》之銘言: : long long CNM(int e,int f) : { : if(f<=e/2) : { : if(f==0) : return 1; : else : { : int x=e-f+1; : meowth(&x,&f); : return (CNM(e,f-1)/f*x); : } : } : else : { : if(f==e) : return 1; : else : { : int y=f+1; : int z=e-f; : meowth(&y,&z); : return (CNM(e,f+1)/z*y); : } : } : } 抱歉,C(5,3)是對的,不過C(5,2)會有問題 C(5,2) e=5,f=2 x=4,f=2 => x=2,f=1 C(5,0)/1*2 =>1/1*2=2 ^^^ 應該要是5才對 else { int x=e-f+1; int t=f; meowth(&x,&f); return (CNM(e,t-1)/f*x); } -- World of bleed1979 http://bleed1979.myweb.hinet.net/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.177.97 ※ 編輯: bleed1979 來自: 114.32.177.97 (11/07 22:09)

11/07 22:10, , 1F
發現了!! 原來f被偷偷改過有個地方忘了看到
11/07 22:10, 1F

11/07 22:11, , 2F
非常感謝提醒^^"
11/07 22:11, 2F

11/07 22:20, , 3F
結果現在錯c(80,59)@@
11/07 22:20, 3F

11/07 22:53, , 4F
應該是爆表了...
11/07 22:53, 4F

11/07 23:03, , 5F
可是題目保證答案不會爆 我的過程應該也不會爆啊..@@
11/07 23:03, 5F

11/08 00:16, , 6F
答案不會爆, 表示存在一種過程到算出答案都不會爆; 不表
11/08 00:16, 6F

11/08 00:17, , 7F
示"你的作法"不會爆; 這種小地方以前參加校內自己辦的程
11/08 00:17, 7F

11/08 00:19, , 8F
設比賽有遇過; 那次遇到1+3+5+..., 直覺的代了(頭加尾)
11/08 00:19, 8F

11/08 00:20, , 9F
乘總數/2的公式, 然後就爆了; 乖乖跑迴圈加一下就過了XD
11/08 00:20, 9F

11/08 00:32, , 10F
崩潰><
11/08 00:32, 10F

11/08 11:57, , 11F
有乘法的地方都要小心 overflow
11/08 11:57, 11F

11/08 11:57, , 12F
有除法的地方都要注意整數除法
11/08 11:57, 12F

11/08 17:07, , 13F
建議用質因數分解,應該不會爆。
11/08 17:07, 13F
文章代碼(AID): #1AzNsflC (C_and_CPP)
文章代碼(AID): #1AzNsflC (C_and_CPP)