我试图找出如何在我的程序中排除某些数字(不是素数的数字)。例如,我不希望打印15,所以我使用模数排除可被5整除的数字,但这消除了5,这是一个素数。任何有关如何编码的帮助将是巨大的帮助!谢谢......
start = int(input("Start number: "))
end = int(input("End number: "))
while start < 0 or end < 0:
print ("Start and end number must be positive. Try again.")
start = int(input("Start number: "))
end = int(input("End number: "))
while start > end:
print ("End number must be greater than start number. Try again.")
for x in range (start, end):
is_prime = True
for x in range (start, end):
trial = x % 2
trial1 = x % 5
trial2 = x % 3
if trial != 0 and trial1 != 0 and trial2 != 0:
print (x, "is a prime number")
x = x + 1
else:
is_prime = False
答案 0 :(得分:0)
您可以创建一个要在循环中使用的数字列表,让我们将其称为loop_list
,然后只需使用loop_list
中的x,即可避免设置排除项
答案 1 :(得分:0)
如果你想确定N是素数,你必须检查所有数字到平方根(N),如果N%数!= 0。
您在寻找优化吗?如果不是,你只需要它。
答案 2 :(得分:0)
你可以尝试这个素数逻辑: -
def check_prime(num):
notPrimeFlag = 'N'
for i in range(2, num):
if num % i == 0:
notPrimeFlag = 'Y'
break
if notPrimeFlag == 'N':
print("Prime number")