python - 如何找到前 m 个孪生素数?
问题描述
我的程序应该找到前 m 个孪生素数并打印它们。
def isItPrime(n):
tests = primes.copy()
while len(tests) != 0:
if n % tests[-1] == 0:
return False
elif n % tests[-1] != 0:
tests.pop()
if len(tests) == 0:
primes.append(n)
return True
def findTwinPrimes(a , b):
if isItPrime(a) == True:
if isItPrime(b) == True:
if b - a == 2:
print(a, "-", b, "is a twin prime")
def firstMTwinPrimes(m):
o = 0
i = 1
if o < m :
print(i)
k = 3
l = 5
findTwinPrimes(k,l)
k += 1
l += 1
o += 1
firstMTwinPrimes(7)
目前,它运行没有错误,但也不起作用。i 是检查程序运行了多少次,它只运行一次。我不知道为什么因为如果 o 小于 m 它应该再次运行。同样对于 3 和 5,它们是孪生素数,但对它们不起作用。isItPrime 已经被实现来检查一个数字是否是素数。它返回答案。
解决方案
请发布带有功能和错误的代码
否则,试试这个:
def printTwinPrime(n):
prime = [True for i in range(n + 2)]
p = 2
while (p * p <= n + 1):
# If prime[p] is not changed,
# then it is a prime
if (prime[p] == True):
# Update all multiples of p
for i in range(p * 2, n + 2, p):
prime[i] = False
p += 1
# check twin prime numbers
# display the twin prime numbers
for p in range(2, n-1):
if prime[p] and prime[p + 2]:
print("(",p,",", (p + 2), ")" ,end='')
# driver program
if __name__=='__main__':
# static input
n = 7
# Calling the function
printTwinPrime(n)
推荐阅读
- c# - WPF 将 ResourceDictionary 限制为程序集
- html - 用于图像悬停效果的 CSS 有机形状
- java - 以 root 身份运行并绑定 IP 的 CrateDB 和 Elasticsearch 问题
- python - Django - 使用外键模型时遇到问题
- python - 范围(列表)作为虚拟列
- gdb - GDB 函数调用跟踪
- gsap - ScrollMagic - 总是首先为第一个项目设置动画
- python-3.x - 如何在python中打印列表的中位数
- javascript - 语义 ui 下拉列表中的默认选定值
- mysql - MySQL INSTR - 匹配确切的子字符串