判断是否是素数(质数)的几种简单方法
本文来自我的博客,欢迎大家来访
给定一个整数n,判断是否是质数(质数是只能被1和它自身整除的数)
第一种:运用数学函数
[python] view plain copy
import math
num = int(input("输入一个数值:"))
if num > 1:
sqare_num = math.floor(num**0.5)
for i in range(2,num):
if(num%i and num%(i+1)) == 0:
print(num,"不是质数")
break
else:
print(num,"是质数")
break
else:
print(num,"不是")
第二种:while循环,break跳出,else设计循环条件
[python] view plain copy
num = int(input("输入一个数值:"))
i =2
while i < num:
s = num % i
if s == 0:
print("{}能被除的数其中有{}".format(num, i))
break
else:
i +=1
if num == i:
print("是质数")
else:
print("不是质数")
第三种:循环让判断的数一直除以从2-本身
[python] view plain copy
num = int(input("请输入一个需要判断的数:"))
i =2
for i in range(2,num):
if num%i == 0:
print("%d不是质数"%num)
break
if num%i!=0 and num != 1 or num == 2:
print("%d是质数" % num)
if num == 1:
print("%d既不是质数,也不是合数" % num)
第四种:立flag巧妙跳出循环,以及合理判断质数条件
[python] view plain copy
num = int(input("请输入一个需要判断的数:"))
i =2
flag =True
while i < num:
if num%i == 0:
print(num, "不是质数")
flag =False
i = num#num = 0 关键是让这个循环结束,也可用break直接跳出,这里考虑break外的方法
i +=1
if flag == True and num!=1 or num == 2:
print(num,"是质数")
if num == 1:
print("1既不是质数,也不是合数")