Python 练习实例36
题目:求100之内的素数。
程序分析:无。
程序源代码:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 输出指定范围内的素数
# 用户输入数据
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
for num in range(lower,upper + 1):
# 素数大于 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
以上实例输出结果为:
输入区间最小值: 1 输入区间最大值: 100 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
Python 100例
Dr.D
hah***ath@126.com
列出所有素数以及素数个数,使用 num/2+1 方式减少计算量
#!/usr/bin/python # -*- coding: UTF-8 -*- lower = int(input("输入区间最小值: ")) upper = int(input("输入区间最大值: ")) n = 0 for num in range(lower, upper + 1): if num >1: for i in range(2,num/2+1): if num%i ==0: break else: print (num) n += 1 print lower,'到',upper,'素数总数为',nDr.D
hah***ath@126.com
红萝卜
101***0300@qq.com
参考方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- import numpy as np num=np.arange(101) for i in num[2:101]: c=0 mod1=[] mod1.append(np.mod(i,num[1:101])) c=np.count_nonzero(mod1) if(np.size(mod1)-c <= 2): print i,红萝卜
101***0300@qq.com
bihar
sbh***163.com
参考方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(2,100): if 0 not in [i%n for n in range(2,i)]: print i,bihar
sbh***163.com
大大大大大大大熊
382***076@qq.com
兼容 Python2.x 与 Python3.x:
import math def is_prime(n): for i in range(2,int(math.sqrt(n))+1): if n%i==0: return False else: return True if __name__ == "__main__": primes = [i for i in range(2,100) if is_prime(i)] print(primes)大大大大大大大熊
382***076@qq.com
ng
409***567@qq.com
python2 与 python3实测通过:
# -*- coding: UTF-8 -*- a = [] for i in range(2, 101): for j in range(2, 101): if i * j <= 100: a.append(i * j) b = set(a) c = set(range(1, 101)) d = c - b print(d)ng
409***567@qq.com