python质数判断
❶ 在python中质数如何表示
质数又称素数,指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。下面是求质数的程序,例如输入15,会输出【2,3,5,7,11,13】共6个15以内的质数。可以拷到vscode 或者pycharm里面试试。
import math
number = int(input("请输入一个数值: "))
list1 = []
# 如果用户输入的数字大于1
if number > 1:
for i in range(number+1):
# 进行判断
for j in range(2, i):
if (i % j) == 0:
break
else:
if i == 0 or i == 1:
pass
else:
list1.append(i)
else:
print("小于或者等于1的数值不是质数")
print("{}以内的数值中是质数的有{},共{}个".format(number,list1,len(list1)))
❷ python判断素数是什么
判断是否为素数的方法:
1、利用for循环和break语句,代码为【for i in range(2, k+2):if m % i == 0:break】。
2、利用while循环和bool变量。
python使用技巧
如果在异常处理程序或 finally 块中引发异常,默认情况下,异常机制会隐式工作会将先前的异常附加为新异常的 __context__ 属性。这就是 Python 默认开启的自动关联异常上下文。
如果你想自己控制这个上下文,可以加个 from 关键字( from 语法会有个限制,就是第二个表达式必须是另一个异常类或实例。),来表明你的新异常是直接由哪个异常引起的。
❸ python语言编写函数f,判断一个数是否为质数如果是返回值是true,否则返回值是f
def f(n):
if n < 2 or n == 4:
return False
elif n == 2 or n == 3 or n == 5:
return True
for i in range(2, int(n/2)+1):
if n % i == 0:
return False
return True
n = int(input('请输入一个数字:'))
if f(n):
print('是质数')
else:
print('不是质数')
❹ Python代码判断16、26、53、78那几个是素数
根据素数定义,一个数只要除了1和它自己之外没有其它的因数,这个数就是素数,但1不是素数。
又可以证明一个数n如果是合数,它必有一个因数位于[2,int (√n)]之间,或必有一个因数a满足a>=2 and a*a <=n and n%a==0,换言之,如果没有这样的a存在,则n就是素数。
因此,代码可以这样写:
for e in 16,26,53,78:
a = 2
while a*a <= e:
if e%a==0:
break
a+=1
else:
print (f'{e}是素数')
截图:
❺ 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))
❻ 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的一种变种,jj>1,两边平方后不等式仍然成立
j^2<=i
两边除以j就变成了j
<=
i
/
j
B:第二处,根据j的数值来判断i是否是素数。当在循环中找到i
%
j
==
0的情况,循环会提前退出,导致j
< i
/
j——说明不是素数;如果循环没有提前退出,说明i是素数,这时j的值>
i
/
j
❼ python求质数的算法
很早 的一个 函数
❽ python判断是否为素数的函数
具体步骤如下:
1、打开pycharm,点击file,点击new,新建一个空白的pyrthon文件:
❾ 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'不是一个素数。'
❿ python中怎么判断一个数是素数
1、实现源码
def isPrime():
n = int(input("请输入一个数字:"))
if n > 1:
for k in range(2, n):
if n % k == 0:
print(n, "不是素数")
break
else:
print(n, "是素数")
else:
print(n, "不是素数")
isPrime()
2、实现结果
请输入一个数字:5
5 是素数
请输入一个数字:10
10 不是素数