当前位置:首页 » 编程语言 » python质数

python质数

发布时间: 2022-01-25 09:14:06

1. python判断质数的个数

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName :20200924_02.py
# @Time :2020/9/24 14:48
# @Author :Storm_ke
"""
统计质数的个数
"""
# import


def is_prime(n):
"""判断一个正整数是否为素数"""
if isinstance(n, int):
try:
for ind in range(2, n):
if n % ind == 0:
return False
return True
except ValueError:
return Exception
else:
return False


if __name__ == "__main__":
prime_count = 0
for i in range(1, 101):
if is_prime(i):
prime_count += 1
print("1到100之间有质数{0}个。".format(prime_count))

2. Python 素数

i = 2
while i <= 100:
j = 2
while j <= i / j: #难点1
if i % j == 0:
break #如果提前提出,j的值<= i / j
j = j + 1
if j > i / j: #难点2
print(i, end=' ')
i = i + 1
其实代码每一句都很简单,就不一一注释了,其实难的是思路。主要是两个地方对J变量的判断
A:while循环,一种常见的是j<=sqrt(i),用这个数的开方(根号)来指定搜索上限,这是因为:
一个数若可以进行因数分解,那么分解时得到的两个数一定是一个小于等于sqrt(n),一个大于等于sqrt(n)——所以只要搜索到根号的地方就可以了,提高了速度。
用i/j的方式是sqrt的一种变种,j<=sqrt(i),由于i>j>1,两边平方后不等式仍然成立
j^2<=i

两边除以j就变成了j
<=
i
/
j
B:第二处,根据j的数值来判断i是否是素数。当在循环中找到i
%
j
==
0的情况,循环会提前退出,导致j
< i
/
j——说明不是素数;如果循环没有提前退出,说明i是素数,这时j的值>
i
/
j

3. python 找最大质数问题

"""题主的问题主要有三个:
1.max_prime中的i错写成了x,这是导致错误的原因
2.s=[]应放在函数max_prime中,这样才符合程序设计原则
3.如果要求的是包含x在内的最大质数,max_prime函数中range应
写成range(2,x+1),此时i的取值范围才是2到x
此外,寻找最大质数时max_prime中遍历时应该从后往前遍历,此时遇到
的第一个质数就是所求最大质数,而不必从前遍历做无用功。
修改代码如下:
"""
defprime(x):
foriinrange(2,x//2+1):
ifx%i==0:
returnFalse
returnTrue

defmax_prime(x):
foriinrange(x,1,-1):#x+1以包含x本身
ifprime(i):
returni

print(max_prime(1000))

4. 用Python找质数

n=10000
numbers=list(range(2,n+1))
i=2
whilei<10001:
forminnumbers:
ifi<m:
whilem%i==0:#这边你为什么要用while呢,这边如果m=3,i=2的话是会进入死循环的,改成if语句试试
k=m#这个没必要存在,只接用numbers.remove(m)
numbers.remove(k)
i=i+1
print(numbers)
print(" Therewere",len(numbers),"primenumbersupto",n)
#下面是修改后的

n=10000
numbers=list(range(2,n+1))
i=2
whilei<10001:
forminnumbers:
ifi<mandm%i==0:
numbers.remove(m)
i=i+1
print(numbers)
print(" Therewere",len(numbers),"primenumbersupto",n)

5. python中如何判断素数

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName :20200924_02.py
# @Time :2020/9/24 14:48
# @Author :Storm_ke
"""
统计质数的个数
"""
# import


def is_prime(n):
"""判断一个正整数是否为素数回"""
if isinstance(n, int):
try:
for ind in range(2, n):
if n % ind == 0:
return False
return True
except ValueError:
return Exception
else:
return False


if __name__ == "__main__":
prime_count = 0
for i in range(1, 101):
if is_prime(i):
prime_count += 1
print("1到100之间有质数{0}个。答".format(prime_count))

6. python素数

第一空:
2
第二空:
1

7. python怎么算出1~100的质数

希望对你有帮助

8. Python编程#输出n以内的所有质数。

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
一般正常人的解法是两次循环,假设求小于N的所有素数。一次用N-1之间的所有数去除,如果能被整除这个数肯定不是素数。否则是素数。

9. python 如何判断一个数是不是质数

代码如下:

#coding=utf8

printu'请输入一个数:'
n=input()

isPrime=True

foriinrange(2,n):
ifn%i==0:
isPrime=False
break

ifisPrime:
printstr(n)+u'是一个素数。'
else:
printstr(n)+u'不是一个素数。'

10. Python求质数

如下:

importmath
defm(a,b):
ret=0
forxinrange(a,b+1):
foryinrange(2,int(math.sqrt(x))+1):
ifx%y==0:
break
else:
ret+=1
print(ret)

输入:m(3,7)

得到:3

热点内容
阿里巴巴python 发布:2024-11-15 20:56:25 浏览:782
博图脚本编辑 发布:2024-11-15 20:41:06 浏览:312
带密码的箱子钥匙在哪里 发布:2024-11-15 20:40:12 浏览:236
两个次梁相交怎么配置 发布:2024-11-15 20:27:35 浏览:373
android关机实现 发布:2024-11-15 20:26:42 浏览:56
木糠压缩原理 发布:2024-11-15 20:22:53 浏览:654
编译原理难以理解的问题 发布:2024-11-15 20:11:25 浏览:130
安卓9是什么水平 发布:2024-11-15 20:06:57 浏览:185
intel快速存储ssd 发布:2024-11-15 20:00:27 浏览:143
吃鸡配置太低怎么调高画质 发布:2024-11-15 19:58:19 浏览:735