注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

互联网产品经理的窝

梦想社:一个人为了梦想,始终没有停下自己的脚步

 
 
 

日志

 
 

Project Euler- Question -《10》  

2011-11-30 17:11:38|  分类: python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million. 


问题分析:

求小于2000000的所有素数之和。


01 # -*- coding: utf-8 -*-
02 import time
03 start = time.clock()
04 sieve = [True] * 2000000    # Sieve is faster for 2M primes
05 
06 def mark(sieve, x):
07      for i in xrange(x+x, len(sieve), x):
08          sieve[i] = False
09 
10 for x in xrange(2int(len(sieve) ** 0.5) + 1):
11      if sieve[x]: mark(sieve, x)
12 
13 print sum(i for i in xrange(2len(sieve)) if sieve[i])
14 
15 elapsed = (time.clock()-start)
16 print ("Time used:", elapsed)
17 
18 142913828922
19 ('Time used:'0.6771863300836325)
  评论这张
 
阅读(88)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017