我对如何计算时间复杂度有基本的了解,但由于素数的随机性,我不确定在这种情况下如何计算它。
快速解释 --> 本质上,我一直在计算余数,以便知道下一个素数是什么时候。
我的代码:
import math
n = int(input("Enter the number:\t"))
primeList = []
checkList = []
number = 3
isPrime = True
while number <= math.sqrt(n) and isPrime:
isChanged = False
for i, checkNum in enumerate(checkList):
if checkNum == 1:
isChanged = True
checkList[i] = primeList[i]
else:
checkList[i] = checkNum - 1
if not isChanged:
primeList.append(number)
checkList.append(number)
if n % number == 0:
isPrime = False
number += 2
if isPrime:
print("Prime")
else:
print("Not Prime")