project Euler第十题

来源:互联网 发布:淘宝商城儿童女装 编辑:程序博客网 时间:2024/04/28 14:12

题目:


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

Find the sum of all the primes below two million.


算法:

#!/usr/bin/env python#coding=utf-8sum = 2def is_prime(num):    i = 2    while i**2<=num:        if num%i == 0:            return False        i += 1    return Truefor i in xrange(3,2000000,2):    if is_prime(i):        sum += iprint sum

结果:142913828922


算法容易理解,我也想不出更好的算法了,用阶乘也可以判定素数,但是效率还没这个高呢,关于素数判定的方法我了解的也不多。就这样凑合着得出答案行了,本来也写了java版的,就不发了,基本上就是把第七题改了改。但是有一点很奇怪,其它程序用python都没java快,这个程序python竟然比java快。



原创粉丝点击