[問題] 遞迴在OJ上Runtime error

看板C_and_CPP (C/C++)作者 (椪柑)時間13年前 (2013/03/06 02:22), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C::B windows 8 問題(Question): 在電腦測試可以正常結束 OJ顯示runtime error 不太清楚是什麼原因造成的... 題目說明說測資會測到極限 會是因為用遞迴就stack overflow嗎? 餵入的資料(Input): 不知道OJ給什麼測資 囧 預期的正確結果(Expected Output): C M取N的值 程式碼(Code):(請善用置底文網頁, 記得排版) http://pastie.org/6393964 題目是uva 530 --

08/28 12:40,
農曆7月很少有人在抽籤的...
08/28 12:40

08/28 13:03,
我抽了怎辦..
08/28 13:03

08/28 13:10,
上次也有人抽了...結果....
08/28 13:10

08/28 13:14,
解籤詩的不在
08/28 13:14

08/28 13:20,
= =
08/28 13:20
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.221.54

03/06 02:56, , 1F
這題先質因數分解再算
03/06 02:56, 1F

03/06 03:36, , 2F
測資通常是天文數字的量
03/06 03:36, 2F

03/06 19:25, , 3F
因為OJ給的數值很大,所以程式就integer overflow,導致crash
03/06 19:25, 3F

03/06 19:46, , 4F
^^^^^^^ stack??
03/06 19:46, 4F

03/06 19:47, , 5F
不過也不排除輸入的測資其實是 long long 範圍造成爆炸..
03/06 19:47, 5F
加了一條if(n>m/2) n=m-n;之後runtime error就解除了 不過取而代之的是time limit exceed 所以應該是stack overflow.. 已經改用迴圈了 XD ※ 編輯: kids1243 來自: 140.114.221.54 (03/07 12:03)
文章代碼(AID): #1HDZVcKa (C_and_CPP)
文章代碼(AID): #1HDZVcKa (C_and_CPP)