VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 电影里的代码之《机械姬》:筛法求质数

今天看了《机械姬》,探讨人工智能话题的电影,豆瓣评分7.5,还是蛮不错的一部电影。影片1:09:29处出现了一段python代码,细看了一下,发现是筛法求质数的python代码,写得非常简练的。先贴个电影的截图:

加载中...

影片里的代码略微有点模糊,我重新打一遍,是下面这个样子的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#coding:utf8
import sys
def sieve(n):
    #compute primes using sieve eratosthenes
    = [1* n
    x[1= 0
    for in range(2,n/2):
        = 2 * i
        while j < n:
            x[j] = 0
            = + i
    return x
def prime(n,x):
    #Find nth prime
    = 1
    = 1
    while j <= n:
        if x[i] == 1:
            = + 1
        = + 1
    return i-1
= sieve(10000)
code = [1206,301,384,5]
key = [1,1,2,2]
sys.stdout.write("".join(chr(i) for in [73,83,66,78,32,61,22]))
for in range(0,4):
    sys.stdout.write(str(prime(code[i],x)-key[i]))

相关教程