python中素数的求法_使用Python判断质数(素数)的简单方法讲解
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。这个定理的重要一点是,将1排斥在素数集合以外。如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条件。 前几天偶尔的有朋友问python怎么判断素数的方法,走网上查了查,总结了python脚本判断一个数是否为素数的几种方法:
1.运用python的数学函数
?
1
2
3
4
5
6
7
8
9
import math
def isPrime(n):
if n <= 1:
return False
for iin range(2,int(math.sqrt(n))+ 1):
if n% i== 0:
return False
return True
2.单行程序扫描素数
?
1
2
3
from mathimport sqrt
N= 100
[ pfor pin range(2, N)if 0 not in [ p% dfor din range(2,int(sqrt(p))+1)] ]
运用python的itertools模块
?
1
2
3
4
5
6
7
8
9
from itertoolsimport count
def isPrime(n): www.zzvips.com
if n <= 1:
return False
for iin count(2):
if i* i > n:
return True
if n% i== 0:
return False
3.不使用模块的两种方法
方法1:
?
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
方法2:
?
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
eg:求出20001到40001之间的质数(素数)
既然只能被1或者自己整出,那说明只有2次余数为0的时候,代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python
L1=[]
for xin xrange(20001,40001):
n= 0
for yin xrange(1,x+1):
if x% y== 0:
n= n+ 1
if n== 2 :
print x
L1.append(x)
print L1
结果如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
20011
20021
20023
20029
20047
20051
20063
20071
20089
20101
20107
20113
20117
20123
20129
20143
20147
20149
20161
20173
….
python中素数的求法_使用Python判断质数(素数)的简单方法讲解相关推荐
- python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想
[递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...
- python中case的用法_用 Python 实现简单的 switch/case 语句
在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...
- python中对列表排序_在Python中对嵌套列表进行排序和分组
在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...
- python中基本程序结构_关于Python 程序格式框架的描述,正确的是( )
[判断题]元组的元素是可读的,可以对元组进行更新.增加.删除操作. [多选题]哪些选项关于循环结构的描述是正确的( ) [单选题]以下可以终结一个循环的是 . [判断题]对于大量列表的连接,exten ...
- python中类似对象吗_在Python中,两个对象什么时候相同? - python
似乎2 is 2和3 is 3在python中始终为true,通常,对整数的任何引用都与对相同整数的任何其他引用相同. None(即None is None)也是如此.我知道用户定义类型或可变类型不会 ...
- python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题
今天在 centos 下安装 python setup.py install 时报错:ImportError: No module named sysconfig, 当时急着用,就顺手直接源码编译了一 ...
- python中函数的调用_慢步python,编程中函数的概念,python中函数的声明和调用
函数,曾经是一个很高大尚的概念.笔者是在高中数学里认识的函数,先是从y=2x+3 这条代数式开始的.y是因变量,x是自变量,y因为x取值的变化而变化. 再后来式子变成这样:f(x)=2x+3,f(x) ...
- python中var是什么_这些Python Number 知识你需要了解!
原标题:这些Python Number 知识你需要了解! 如果把编程比作建房子,那么数据就是建材.而建材有砖头.水泥.木头.钢材等,不同类型的建材配合工作,才能把房子建好.编程也一样,不同类型的数据类 ...
- 简述python中面向对象的概念_简述Python中的面向对象编程的概念
面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机 ...
最新文章
- 列举数据挖掘领域的十大挑战问题
- 密码界“女杀手”,破译世上最安全密码系统,获 771 万奖金!
- 单臂路由(实现VLAN间通信)
- linux 网络编程学习
- session喜欢丢值且占内存,Cookis不安全,用什么可以代替呢?
- java和python混合编程_浅谈C++与Java混合编程
- python之质数判断
- 4.10_composite_结构型模式:组合模式
- delphi 数据库_Delphi数据库编程初学者指南
- 关于LM2596S-5.0电流声问题——输出电容选择
- Python中的类、实例以及方法,MRO继承解析顺序以及Mixin类
- @Zabbix6.2安装部署【 Red Hat Linux release 8.0】
- 30s快速开通微商城,零售+分销结合,支持直播美颜
- 处理器最新排行_鲁大师Q2季度PC硬件排行:Intel十代酷睿初入战局,最受欢迎CPU是它...
- c++面试常见题·Part 3 TCP/IP多线程编程设计模式Linux基操等
- 《自控力》第八章读书笔记
- 互联网的金门大桥:Cisco
- Windows美化磁盘图标
- 第四届河南省程序设计大赛D	nyoj306-走迷宫【二分DFS、最短路Dijkstra】
- steam平台,分手厨房2如何实现键盘+手柄,双人游戏