【转载】Python脚本判断一个数是否为素数的几种方法

     质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。这个定理的重要一点是,将1排斥在素数集合以外。如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条件。

     前几天偶尔的有朋友问python怎么判断素数的方法,走网上查了查,总结了python脚本判断一个数是否为素数的几种方法:

#运用python的数学函数  

?


1

2

3

4

5

6

7

8

9

import math

 

def isPrime(n):

    if n <= 1:

    return False

    for i in range(2, int(math.sqrt(n)) + 1):

    if n % i == 0:

        return False

    return True

#单行程序扫描素数 

?


1

2

3

from math import sqrt

N = 100

[ p for p in   range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]

#运用python的itertools模块  

?


1

2

3

4

5

6

7

8

9

from itertools import count

def isPrime(n):

    if n <= 1:

        return False

    for i in count(2):

        if i * i > n:

            return True

        if n % i == 0:

            return False

#不使用模块的两种方法

?


1

2

3

4

5

6

7

8

9

def isPrime(n):

    if n <= 1:

        return False

    i = 2

    while i*i <= n:

        if n % i == 0:

            return False

        i += 1

    return True

?


1

2

3

4

5

6

7

8

9

10

11

12

13

def isPrime(n):

    if n <= 1:

        return False

    if n == 2:

        return True

    if n % 2 == 0:

        return False

    i = 3

    while i * i <= n:

        if n % i == 0:

            return False

        i += 2

    return True

原文地址:http://wangwei007.blog.51cto.com/68019/1130146/

时间: 2025-01-29 21:26:45

【转载】Python脚本判断一个数是否为素数的几种方法的相关文章

使用Python脚本实现批量网站存活检测遇到问题及解决方法_python

做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的.所以自己就编了一个小脚本,为以后方便使用. 具体实现的代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- ''' @Author:joy_nick @博客:http://byd.dropsec.xyz/ ''' import requests import sys f = open('url.txt', 'r') url = f.readline

html javascript: 用JavaScript判断一个html元素是否存在的几种方法

用javascript判断一个html元素是否存在的五种方法:   1. 判断表单元素是否存在 if("periodPerMonth" in document.theForm){ return true; }else{ return false; } 2. 判断页面元素是否存在 if(document.getElementById("XXX")){ //存在 } 3. 判断表单元素是否存在 if(document.theForm.periodPerMonth){ /

PHP判断数组是否为空的常用方法(五种方法)

本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下. 1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 <?php $a = ''; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . ""; if (!iss

JavaScript实现判断图片是否加载完成的3种方法整理

 这篇文章主要介绍了JavaScript实现判断图片是否加载完成的3种方法整理,本文讲解了onload方法.javascipt原生方法.jquery方法三种方法,需要的朋友可以参考下     有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload

判断iPhone的WiFi是否打开的两种方法_IOS

判断WiFi是否连接可以使用Reachability进行判断,那么WiFi是否打开应该怎么判断呢? 下面是两种完全基于不同思路的方法: 方法一: 使用SystemConfiguration.framework 库进行判断 #import <ifaddrs.h> #import <net/if.h> #import <SystemConfiguration/CaptiveNetwork.h> - (BOOL) isWiFiEnabled { NSCountedSet *

php文件扩展名判断及获取文件扩展名的N种方法_php实例

下面代码是php文件扩展名判断 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content="text/html" charset="utf-8"> <title>check file</title> </head> <body> <b>文件扩展名验证</b>

Python脚本判断 Linux 是否运行在虚拟机上_python

在 WebHostingTalk 论坛上有些国外奸商会把虚拟机当作独立服务器卖,去年7月份的时候就有一位中国同胞上当受骗,并在 WHT 上发帖声讨,证据确凿,甚至连服务商自己也承认,回帖达355篇.这家独立服务器/VPS 提供商 HostATree.com 居然大胆的把 OpenVZ VPS 这种一看就知道是虚拟机的虚拟机当作独立服务器卖,晕,至少也要弄个 VMWare/KVM/Xen HVM 吧(更难发现是虚拟机),用 OpenVZ 这种容器也太欺负人了:)昨天恰好收到网友一封邮件问到了如何判

SHELL判断一个字串是否为数字的几种方法

PS:  shell结合C应该是可以写出非常强大的脚本的!加油~~~ Shell中经常需要判断一个参数的类型,用来决定是否将该参数传给后续代码执行. 这里简单介绍两种判断一个字符串是否为数字的方法:   1.使用Linux下相当牛X的计算器bc,当然这里有点大材小用了,不过也不失为一种方法 echo $str | bc 将字串打印出来,通过管道传给计算器bc这个程序,这个程序的基本功能是计算表达式的值,但是特别的是 在输入单个数字,它返回的值仍然是这个数字(单个数字是特殊的表达式),根据这个特性

Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)

#前提已经可以通过mail或mutt客户端发邮件 1.先安装sendmail来发邮件 1 2 3   # yum -y install sendmail   # /etc/init.d/sendmail start   # chkconfig sendmail on 2.再安装邮件客户端 1    # yum -y install mutt   2.1 为了更好在邮件中显示,设置mutt客户端发送信息 1 2 3 4 5 6 7   # vim /etc/Muttrc   set charset