python之质数】的更多相关文章

python找质数对 编写python脚本,输入一个正整数,输出有几对质数的和等于这个正整数. 例如输入一个正整数10,可以找出有“3+7=10”.“5+5=10”两个质数对的和为10. 要实现这个功能的python脚本如下所示: def isprime(num): for i in range(2, num): if num % i == 0: return False return True Number = input("Please input a number : ") Pr…
while 1: s = input('请输入一个数:') s = int(s) if s == 2: print('质数') else: if s == 0 or s == 1: print('都不是') else: u = s - 2 h = 1 p = 1 while u: h = h + 1 if s % h == 0: p = 1 break else: p = 0 u = u - 1 if p: print('合数') else: print('质数')…
质数(prime number)又称素数,有无限个 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 示例: num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): break else: num.append(i) print(num) 输出: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 7…
一般,构造一个含有2-x之间所有质数的列表,我们采用最简单的遍历判断质数的方法: # 方法一 1 prime = [] def is_prime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True for i in range(2, x): if is_prime(i): prime.append(i) 这个方法的优势在于逻辑简单…
python检测是否是质数 编写python脚本,使得实现以下功能: 输入一个整数,通过脚本判断出输入的这个数是否是质数,然后输出是否是质数. 脚本如下图所示: Num = input("Please input a integer :") i = 2 while i < Num : if Num % i == 0 : print "{} is not a prime number !".format(Num) break else : i += 1 if i…
今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:http://baike.baidu.com/link?url=Ba106RbHkMjZm3rolmCHEEFt3eDkVbngcReykcqt4Wv0dbTI_0ZmTDE5b0X-xWFx 以下是代码实现,这两种方法,还有常规的分解因式,顺便比较了一下效率,其中分解因式用了两种方法来求取小于该数字的…
只能被自己或者1整除的数为质数 num = int(input('请输入一个数:')) if num > 1: # 查看因子 for i in range(2, num): if (num % i) == 0: print(num, "不是质素") print(i, "乘以", num // i, "是", num) break else: print(num, "是质素") # 如果输入的数字小于或等于 1,不是质素…
一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数. 首先我们来第一个传统的判断思路: def handlerNum(num): # 质数大于 1 if num > 1: # 查看是否有其他因子 for i in range(2, num//2+1): if (num % i) == 0: print(num,"不是质数") break else: print(num, "是质…
# -*- utf-8 -*- # @Time: 2019-04-16 # @ Author: chen def prime(self, value): """判断是否为质数""" for i in range(2, value // 2 + 1): if value % i == 0: return False return True def max_prime(self, value): """不大于(小于或等于…
对于这样的一个题目来说,出看来,可能会想到判断是否为质数,但其实并不需要. 只要按照从2开始遍历,只要遇到可以整除的就是想要的质数,理由是,如果遇到合数的话,那么在此之前一定会遇到这个合数的质因子,因此不会存在这种情况. 另外就是遍历的后边界,其实随着number的质因子被找到,因此number在逐渐减小,因此之后的遍历中是包括其自身的,因此需要 number+1 代码1:这样的方法尤其适用于大数字,否则会有很多无用的计算 def all_divisors(number): nb_list =…