[閒聊] Python做OJ根本不適合大數字運算

看板Python作者 (FreedomKnight)時間13年前 (2013/01/14 03:55), 編輯推噓2(209)
留言11則, 6人參與, 最新討論串1/1
這幾天我在做SPOJ的前幾題 想說用來熟悉一下Python這個新學的語言 但我發現簡單的題目當中 好像這些題目實在想不出啥特殊的測試數據 裡面就會放很多大數字 像是給很多個範圍 印出每個範圍所有的質數好了 3 #總測試數據 1 10#印出1到10所有的質數 2 100 1 1000000 python的速度根本衝不上去(除非做一大堆表) 想說這可能只是個案 結果挑了其他軟柿子先吃 有3個也遇到這種狀況 不知道有沒有大大們有整理些題號是比較適合去做的 (我當初是有想反正python本來就會比較刻難 但是練習讓程式效率增加也好 但有些根本已經極限了,那個質數問題我根號做了,甚至還做了快取 把曾經找到過數字也放進去了,但是題目數字可以出到一億,範圍大小十萬) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.40.224

01/14 10:25, , 1F
樓上不就有範例了~我想該檢討的是你的演算法
01/14 10:25, 1F

01/14 12:35, , 2F
動手寫code之前先看一下ranking裡面有沒有python吧XD
01/14 12:35, 2F

01/14 18:13, , 3F
試試 pypy 吧
01/14 18:13, 3F

01/15 00:10, , 4F
我後來試著向上一篇那樣優化了 根本還是過不了說
01/15 00:10, 4F

01/15 00:11, , 5F
好不容易看到有用python寫的也都time out
01/15 00:11, 5F

01/15 00:14, , 6F
不過排行榜裡好像真的是有人過 好吧 既然有人過
01/15 00:14, 6F

01/15 00:14, , 7F
我想還是應該還是要試試看
01/15 00:14, 7F

01/15 11:48, , 8F
spoj prime1 的 pyth2.7 解題者多到爆吧,目前有 292 個
01/15 11:48, 8F

01/23 18:35, , 9F
描述一下你的演算法? 樓上一篇是sieve法
01/23 18:35, 9F

01/23 18:36, , 10F
在我的機器上跑changyuheng的code 不到0.3秒
01/23 18:36, 10F

01/23 18:38, , 11F
(n=1000000)
01/23 18:38, 11F
文章代碼(AID): #1Gyn4NGJ (Python)
文章代碼(AID): #1Gyn4NGJ (Python)