作者FreedomMax (FreedomKnight)
看板Python
標題[閒聊] Python做OJ根本不適合大數字運算
時間Mon Jan 14 03:55:00 2013
這幾天我在做SPOJ的前幾題
想說用來熟悉一下Python這個新學的語言
但我發現簡單的題目當中
好像這些題目實在想不出啥特殊的測試數據
裡面就會放很多大數字
像是給很多個範圍 印出每個範圍所有的質數好了
3 #總測試數據
1 10#印出1到10所有的質數
2 100
1 1000000
python的速度根本衝不上去(除非做一大堆表)
想說這可能只是個案
結果挑了其他軟柿子先吃
有3個也遇到這種狀況
不知道有沒有大大們有整理些題號是比較適合去做的
(我當初是有想反正python本來就會比較刻難
但是練習讓程式效率增加也好
但有些根本已經極限了,那個質數問題我根號做了,甚至還做了快取
把曾經找到過數字也放進去了,但是題目數字可以出到一億,範圍大小十萬)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.40.224
1F:→ swpoker:樓上不就有範例了~我想該檢討的是你的演算法 01/14 10:25
2F:推 Fenikso:動手寫code之前先看一下ranking裡面有沒有python吧XD 01/14 12:35
3F:→ legnaleurc:試試 pypy 吧 01/14 18:13
4F:→ FreedomMax:我後來試著向上一篇那樣優化了 根本還是過不了說 01/15 00:10
5F:→ FreedomMax:好不容易看到有用python寫的也都time out 01/15 00:11
6F:→ FreedomMax:不過排行榜裡好像真的是有人過 好吧 既然有人過 01/15 00:14
7F:→ FreedomMax:我想還是應該還是要試試看 01/15 00:14
8F:→ weijr:spoj prime1 的 pyth2.7 解題者多到爆吧,目前有 292 個 01/15 11:48
9F:推 neutrino:描述一下你的演算法? 樓上一篇是sieve法 01/23 18:35
10F:→ neutrino:在我的機器上跑changyuheng的code 不到0.3秒 01/23 18:36
11F:→ neutrino:(n=1000000) 01/23 18:38