判断是否是素数(质数)的几种简单方法

2018-01-07  本文已影响0人  四十是似时

本文来自我的博客,欢迎大家来访


给定一个整数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既不是质数,也不是合数")  

上一篇下一篇

猜你喜欢

热点阅读