www.rtmj.net > python求2到100间素数

python求2到100间素数

num=[] a = 2 for a in range(2,100): b = 2 for b in range(2,a): if(a%b==0): break else: num.append(a) print(num)

#!/usr/bin/python#-*- coding:UTF-8 -*-#求素数 list=[] i=2 for i in range (2,100): j=2 for j in range(2,i): if(i%j==0): break else: list.append(i) print(list) 扩展资料:python:for语句的使用方法 for循环的语法格式:for i in range(n):#从数据类型中拿一个值赋值

i =2 c = [] while (i<=100): j = 2 while (j <= i ): if i % j == 0: if i==j: c.append(i) break j += 1 i+=1 print c

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

i = 2print '200以内的素数为'while i < 200: n = 2 while n <= ( i / n ): if not (i % n ): break n = n + 1 if ( n > i / n): print i, i = i + 1这是我写的python找素数的代码,python版本位2.7.8

如果要追求一下速度的话,可以试试这个(求1千万内素数12.58秒).::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

from math import ceil def sushu(x): """质素判断""" x2=x/2 #四舍五入, x2=int(ceil(x2)) #偶数判断,是偶数--下一个循环 if x2*2==x:return 0 #素数判断 for i in p: xi=x/i xi=int(ceil(xi)) if xi*i==x:return 0 #向P中增加素数x p.append(x) return xdef

赋值个初始值,相当于告诉程序,定义了一个变量,当然,在第2个for循环中,j=2是为了让每次大循环,都从2开始判断整除性.for j in range(2,2)相当于令j=2

for i in range(2,101): for j in range(2,i): if i%j==0:break else: print('素数等于:%d'%i)if i%j>0 怎么能判断出是素数了???

这是我见过最差的素数算法.i/j就是看能不能整除.

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com