找到素数的更好方法? [已关闭]

问题描述 投票:0回答:1

这是代码:

def simplify(num_1):
  factors = []
  num_1 = abs(num_1)
  if num_1 == 1 or num_1 == 0:
    return 'Non-Prime-Non-Composite'
  for i in range(1, num_1 + 1):
    if num_1 % i == 0:
      factors.append(i)
  if len(factors) == 2:
    return 'Prime'
  return 'Composite'

usr = int(input("Enter 'n'th prime number to find: "))
n = 0
iter = 0
while n != usr:
  iter+=1
  if simplify(iter) == 'Prime':
    n+=1
print(iter)

我正在尝试找到一种有效的方法来通过素数在素数数轴上的位置来获取素数(如果你明白我的意思)......这接近吗?另外,导入新模块不会被视为我试图从头开始重建它......

它做了它所做的...

python performance formula primes
1个回答
0
投票

这段代码

def simplify(num_1):
  factors = []
  num_1 = abs(num_1)
  if num_1 == 1 or num_1 == 0:
    return 'Non-Prime-Non-Composite'
  for i in range(1, num_1 + 1):
    if num_1 % i == 0:
      factors.append(i)
  if len(factors) == 2:
    return 'Prime'
  return 'Composite'

确实找到因子数并检查因子数是否为 2。请注意,您只是添加因子,因此您可能会在找到 3 个因子后立即返回它是 Composite,因为因子数肯定不等于 2。

© www.soinside.com 2019 - 2024. All rights reserved.