By -
陳 瞽鱦
Python 打印质数
总感觉在一篇文章中列出149行词语,对阅读体验来说,惨绝人寰,于是构思通过随机函数取出若干词,展示在表格中,或者用Canvas内,前者规整,后者活泼。考虑兼容性,还可引入Flash。但149个词,每次取多少合适呢?
强迫症晚期患者偏向于整除取值,却隐约感觉149是个质数,数学早还给老师了,短除法用的也不好,百度一下,发现还真有质数表,但程序员用图表查询,太伤自尊,搜出一个Python算法,非常高效。
# -*- coding:utf-8 -*- def getPrime(maxNum): aList = [x for x in range(0, maxNum)] prime = [] for i in range(2, len(aList)): if aList[i] != 0: prime.append(aList[i]) clear(aList[i], aList, maxNum) return prime def clear(aPrime, aList, maxNum): for i in range(2, int((maxNum / aPrime) + 1)): if not aPrime * i > maxNum - 1: aList[i * aPrime] = 0 print getPrime(500)
Tagged : Python