[問題] 奇怪的現象?-同份code, C++能過,C不能過
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
ZeroJudge online judgement
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
d923. 規律 http://zerojudge.tw/ShowProblem?problemid=d923
大致做法就是把區域切成四大塊,每一塊增加的值都是可以算先好的
所以不必每格都算過,遞迴一直切下去。
但卻發生奇怪的現象...
同份code, C++能過,C不能過
原本我猜是型態傳換的問題
後來全部換成 unsigned long long int 還是一樣C過不了 (大哭
有人可以告訴我為什麼嗎?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/E3WZ7
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.205.55.3
※ 編輯: BombCat 來自: 123.205.55.3 (05/14 04:00)
→
05/14 04:08, , 1F
05/14 04:08, 1F
推
05/14 04:08, , 2F
05/14 04:08, 2F
→
05/14 04:11, , 3F
05/14 04:11, 3F
→
05/14 04:11, , 4F
05/14 04:11, 4F
→
05/14 04:26, , 5F
05/14 04:26, 5F
→
05/14 04:27, , 6F
05/14 04:27, 6F
→
05/14 04:27, , 7F
05/14 04:27, 7F
→
05/14 04:28, , 8F
05/14 04:28, 8F
→
05/14 04:30, , 9F
05/14 04:30, 9F
→
05/14 04:34, , 10F
05/14 04:34, 10F
→
05/14 04:36, , 11F
05/14 04:36, 11F
→
05/14 04:53, , 12F
05/14 04:53, 12F
→
05/14 05:12, , 13F
05/14 05:12, 13F
→
05/14 05:14, , 14F
05/14 05:14, 14F
→
05/14 05:16, , 15F
05/14 05:16, 15F
→
05/14 05:18, , 16F
05/14 05:18, 16F
推
05/14 05:19, , 17F
05/14 05:19, 17F
→
05/14 08:33, , 18F
05/14 08:33, 18F
謝謝版上的各位大大的幫忙,我找到錯誤了
用一個簡單的loop計算,去取代
Exp=(unsigned long long int)pow(2,ceill(log2(Len))); 這一行
就可以讓C也可以過了。
不過還是不知道為什麼之前版本會讓C過不了? 真的好奇是什麼原因造成的
要不然哪天寫到一個會爆的C程式還蠻抖的...
AC code: http://ideone.com/WnFuw
謝謝c大,E大還有l大
※ 編輯: BombCat 來自: 123.205.55.3 (05/14 09:49)
→
05/14 09:52, , 19F
05/14 09:52, 19F
→
05/14 10:00, , 20F
05/14 10:00, 20F
→
05/14 10:01, , 21F
05/14 10:01, 21F
→
05/14 10:04, , 22F
05/14 10:04, 22F
→
05/14 10:04, , 23F
05/14 10:04, 23F
→
05/14 10:09, , 24F
05/14 10:09, 24F
→
05/14 13:12, , 25F
05/14 13:12, 25F
推
05/14 13:54, , 26F
05/14 13:54, 26F
推
05/14 19:35, , 27F
05/14 19:35, 27F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):