美文网首页
判断是否是素数(质数)的几种简单方法

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

作者: 四十是似时 | 来源:发表于2018-01-07 15:18 被阅读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既不是质数,也不是合数")  

    相关文章

      网友评论

          本文标题:判断是否是素数(质数)的几种简单方法

          本文链接:https://www.haomeiwen.com/subject/yjopnxtx.html