作者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