原题地址:http://projecteuler.net/problem=7
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 10 001st prime number?
大意是:
前六个质数是2,3,5,7,11和13,其中第6个是13.
第10001个质数是多少?
解法1:
序号初始为1,从2开始递增,判断它是否是质数,如果是则序号加1,直到序号达到10001
python代码如下所示:
import math def isPrime(num): num = int(num) temp = math.floor(math.sqrt(num))+1 if num == 2: return True while temp > 1: if num%temp == 0: return False temp -= 1 else: return True def calculate(num): order = 1 number = 2 while order < num: while not isPrime(number): number += 1 order += 1 number +=1 return number-1 print calculate(10002)
注:题目的中文翻译源自http://pe.spiritzhang.com