首页 > 编程语言 >Python 判断质数的另一种方法

Python 判断质数的另一种方法

时间:2024-08-28 15:54:15浏览次数:11  
标签:prime 判断 return Python 质数 range print 此数

质数就是大于等于2且只能被它本身及1整除的数,百度上关于质数的性质和相关的公式还有很多,不过有点高深难懂,尤其是对我这个数学不好的人来说。
网上python判断质数的方法大多是下面这种:

from math import sqrt
def is_prime(n):
    if n == 1:
    	print("此数为不质数")
        return False
    for i in range(2, int(sqrt(n))+1): #或者 for i in range(2, n//2+1):
        if n % i == 0:
        	print("此数不为质数")
            return False
    print("此数为质数")
    return True

但是我在做这题的时候没有看网上的代码,于是开辟了另一个方法。
有一组数是很神奇的:[2,3,5,7]。这四个数加上一些运算符号可以生出任意的数。
比如8=2×2×2, 6=2×3, 14=2×7.....
所以,只要被求的数不能被这组数中的每一个数整除,此数就为质数。基本代码如下:

def is_prime(n):
    ls = [2, 3, 5, 7]
    for i in ls:
        if n == i:
            print("此数为质数")
            return True
        if not n % i:
            print("此数不为质数")
            return False
    print("此数为质数")
    return True
#return的作用:判断结束后即刻退出函数,避免重复判断
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:857662006

for i in range(10):
    n = int(input("请输入一个整数:"))
    is_prime(n)

仔细想一想,其实这两个方法是一样的,第一块代码的range范围是包含[2,3,5,7]的,甚至可以再精细一点,比如当n=8的时候,第一块代码的范围区间是[2,3],这样就避免了后面5和7的无谓的计算。

标签:prime,判断,return,Python,质数,range,print,此数
From: https://www.cnblogs.com/djdjdj123/p/18384946

相关文章

  • Python中几种lambda排序方法
    1.对单个变量进行排序#lst=[[5,8],[5,3],[3,1]]lst.sort(key=lambdax:x[1])#lst=[[3,1],[5,8],[5,3]]以元素的第二个元素升序排列2.对多个变量进行排序#lst=[[5,8],[5,3],[3,1]]lst.sort(key=lambdax:(x[1],x[0]))#lst=[[3,1],[5,3],[5,8]]以元素的......
  • Python调用shell cmd的几种方式
    1.使用os.system()去调用,但是只能返回执行状态,不能获取shellcmd执行结果importosstatus=os.system("psaux|grepXcode|grep-vgrep")print(status)2.使用os.popen执行并获取结果​如果返回是str,直接通过read拿结果使用,如果是多行,选择readlines转list获取每行内容......
  • 高斯坐标转WGS84 GPS坐标 C#版本 python版本和C++版本 3度带进行投影 三个版本的代码
    找了很久,都没有很靠谱的版本,这个是自己从C#版本转换的另外两个版本完整代码可以用经过了对比核对计算,确保3个版本之间的计算结果是一致的C#版本:GPSPointGSXYToGPS(doubleX,doubleY,doubleL0){//X=571879.3482847388;//Y=2770741.66......
  • java如何运行Python文件程序
    有时候会遇到在java中启动Python的程序,下面进行说明packagecom.zxh.util;importlombok.extern.slf4j.Slf4j;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;/***python执行器**@Au......
  • python optional import
    Python的可选导入:提升代码可读性与简洁性的利器在Python编程中,我们常常会使用到各种库和模块。为了方便使用这些库和模块,我们需要通过导入语句将其引入到我们的程序中。然而,随着项目规模的增大,导入语句可能会变得越来越复杂,这不仅增加了代码的长度,也降低了代码的可读性。那么,有没......
  • Python内置的getclassname()函数
    Python是一种广泛使用的编程语言,其在面向对象编程方面具有显著优势。为了更好地理解和应用这一领域的基础知识,熟悉Python编程中类的相关操作是非常重要的。本文主要介绍如何使用Python内置的getclassname()函数获取类的名称,并通过实际代码示例来演示该函数的使用。首先,我们需要了......
  • Android 启动时判断overlay fs是否挂载
    一、背景Android新版本使用super分区替代原来的system、vendor后,就采用了overlayfs文件系统。这种文件系统在执行adbremount后,修改system、vendor分区内容并不是真正存储在原来的位置,而是单独利用super剩余空间或data分区存了一份新的,原来的文件并没有改变。系统使用时判断......
  • 信息熵计算程序[Python+CSV格式数据集]
    0前言为了便于学习决策树信息熵相关知识,笔者编写了一个专门用于计算变量信息熵、条件熵、信息增益、信息增益比的程序,方便提升学习效率。程序中包含了计算过程的数据和详细信息以及最终计算结果。编程语言为Python,搭配CSV数据格式使用。1数据集1.1游玩数据集根据天气状......
  • 分享一个基于Python的程序员薪资数据分析可视化与岗位推荐系统flask爬虫毕设(源码、调
    ......
  • 【Shell脚本】判断用户输入的是否为IP地址
    方法1:#!/bin/bashfunctioncheck_ip(){IP=$1VALID_CHECK=$(echo$IP|awk-F.'$1<=255&&$2<=255&&$3<=255&&$4<=255{print"yes"}')ifecho$IP|grep-E"^[0-9]{1,3}\.[0-9]{1,3}\......