Project Eurler - Problem 7
来源:互联网 发布:snmp网络管理模型 编辑:程序博客网 时间:2024/06/11 03:12
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. What is the 10001st prime number?
这里采用简单的办法求素数,不过还是要讲究一点效率:
1、2是唯一的偶数素数
2、所有比3大的素数可以表示为6k+1或者6k-1
3、判定一个数是否为素数的较快办法为从2到n的平方根,是否存在能整除n的因子,不存在则为素数。
def isPrime(n): if n == 1: return False elif n < 4: return True # 2,3 都是素数 elif n % 2 == 0: return False # 除2外的偶数不是素数 elif n < 9 == 0: return True # 到此只可能是7了,是素数。 elif n % 3 == 0: return False # 使剩下的部分表示为6k加减1 else: r = math.floor(math.sqrt(n)) f = 5 # 第一个6k-1 while f <= r: if n % f == 0: return False if n % (f+2) == 0: # 6k-1+2成为6k+1 return False f += 6 # 步伐6大跃进 return Truedef the10001stPrime(): p = 1 count = 1 while count < 10001: p += 2 if isPrime(p): count += 1 return p
- Project Eurler - Problem 7
- Project Eurler - Problem 1
- Project Euler problem 7
- Project Euler Problem 7
- 【Project Euler】【Problem 7】10001st prime
- Project Euler Solutions(Problem 1~7)
- Project Euler Problem 7: 10001st prime
- Euler Project Problem 6
- project euler problem 11
- Project Euler Problem 81
- Project Euler Problem 60
- Project Euler Problem 59
- Project Euler Problem 58
- Project Euler Problem 57
- Project Euler Problem 16
- Project Euler Problem 30
- Project Euler Problem 31
- Project Euler Problem 32
- Project Euler - Problem 4
- Project Euler - Problem 5
- 我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
- Project Euler - Problem 6
- .NET Framework各版本比较
- Project Eurler - Problem 7
- 时域测量与频域测量方法的分析
- Project Euler - Problem 8
- Project Euler - Problem 9
- Project Euler – Problem 10
- QWS
- sql2005 'sa'用户登录失败,解决方案
- Project Eluer - Problem 11
- Ajax基础