赞
踩
换句话说:素数不能被2~n-1间的任意一个数整除
用2~n-1依次做求余运算(优点:容易想到 )
定义一个标志变量yes
#定义一个标志变量,初始化为1,默认n是素数
yes=1
for i in range(2,n):
if n%i==0:
yes=0
break
如果yes=1没有变化,则说明在2~n-1之间没有一个数可以整除n,则可以判断n是素数
完整代码
#s素数判断代码——方式一
n = int(input("输入一个正整数:"))
yes= 1
for i in range(2,n):
if n%i==0:
yes=0
break
if yes:
print(n,'是素数')
else:
print(n,'不是素数')
#素数判断方式二
m = int(input('输入一个正整数:'))
i =2
while i < m:
if m%i==0:
break
i+=1
if i>m:
print(m,'是素数')
else:
print(m,'不是素数')
方法一的第二种形式的化简,可以在2~m/2之中判断
#判断素数
m = int(input('请输入一个正整数:'))
i =2
k = m/2
while i <=k:
if m%i==0
break
i+=1
if i>k:
print(m,'是素数')
else:
print(m,'不是素数')
再次化简
#判断素数
from math import sqrt
n = int(input('请输入一个正整数:'))
i = 2
k = int(sqrt(n))
while i <=k:
if n%i==0:
break
i+=1
if i >k:
print(n,'是素数')
else:
print(n,'不是素数')
除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
这里给大家展示一下我进的最近接单的截图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。