我正在尝试制作一个程序,该程序将使用一个非常简单的公式来判断一个数字是否为素数:将数字(x)除以 4。看看从 1 到 x/4 的任何数字是否完全除以 x。如果不是,x 将是素数。
该程序目前向我显示了将 x 除以从 1 到 x/4 的每个数字的结果。我想这样做:如果有一个可以完美分割的数字,打印 x 不是素数并结束程序。或者如果没有除以 x 的数字,只需说 x 是质数并结束程序。
我尝试使用布尔值,但随后它将每个数字都显示为素数,它不应该这样做,因为程序还不知道 x 可以完美地除以 1,但仍然是素数。
value = int(input("Type a number: "))
# prime = True
if value.__class__ == int:
x = value / 4
list = list(range(1, int(x) + 1))
for number in list:
y = value / number
while y >= 0:
y -= 1
if y == 0:
print(f"{value} is not prime")
# print("yes")
# y == -1
elif 0 < y < 1:
print(f"{value} is prime")
# print("no")
# if prime:
# print(f"{value} is prime")
# else:
# print(f"{value} is not prime")