求素数的方法有很多种,以下是其中两种常见的方法: 方法一:暴力枚举 暴力枚举法是最简单的求素数方法之一。其基本思想是:对于每一个待判断的数n,枚举2到n-1的所有整数,看是否能整除n。如果找到了一个除n以外的因数,那么n就不是素数,否则n就是素数。 以下是使用暴力枚举法求解素数的代码: def is_prime(num): """判断一个数是否为素数""" if num <= 1: return False for i in range(2, num): if num % i == 0: return False return True
# 求1到100之间的素数 for i in range(1, 101): if is_prime(i): print(i) 方法二:埃拉托色尼筛法 埃拉托色尼筛法是一种基于筛法的素数筛选算法。其基本思想是:从2开始,将每个素数的倍数都标记为合数,直到没有未标记的数为止。这样剩下的就是素数。 以下是使用埃拉托色尼筛法求解素数的代码: def eratosthenes(n): """求n以内的素数""" is_prime = [True] * (n+1) for i in range(2, int(n**0.5)+1): if is_prime[i]: for j in range(i**2, n+1, i): is_prime[j] = False primes = [i for i in range(2, n+1) if is_prime[i]] return primes
# python输出质数,每10个数换一行 def func_Prime(): a = int(input("请输入一个整数: ")) n = 0 counter = 0 #输出计数器 for x in range(2,a+1): n = 0 for y in range(2,int(x)): if(int(x) % int(y)) == 0: n = n + 1 break if n==0: if counter < 9: # 输出10个以内数字,TAB符号分割 print(x,end="\t") counter += 1 else: # 输出超过10个数字,换行分割 print(x,end="\n") counter = 0 return
第3个回答 2023-03-29
以下是用Python求素数的代码示例:
```python # 检测是否为素数函数 def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True
# 求前 n 个素数函数 def find_primes(n): primes = [] num = 2 while len(primes) < n: if is_prime(num): primes.append(num) num += 1 return primes