我写了这个代码来判断一个数是素数(Y)还是非素数(N)。你知道吗
number = int(input("Type a value for n. "))
if number > 1:
for i in range(2, number):
if (number % i)==0:
print("N")
break
else:
print("Y")
else:
for i in range (number, -2):
if ((number) % i)==0:
print("N")
break
else:
print("Y")
它正在发挥作用。但是当我把一个小于1(number<;1)的数字,比如-7,代码会给我一个错误的答案。你知道吗
我已经做了一些改变并且意识到:
number = int(input("Type a value for n. "))
if number > 1:
for i in range(2, number):
if (number % i)==0:
print("N")
break
else:
print("Y")
else:
for i in range (number,-2):
if (number % i)==0:
print("N")
break
else:
print("Y")*
但当我输入-7时,答案是N(错)。-7是素数
有人能帮我吗?你知道吗
这是因为python中的范围/间隔是部分关闭的;它们在右侧是打开的。所以当你这么做的时候
你得到了吗
注意,有2个,但没有10个
同样地
将包括-10(因此数字%i==0将为真),但不包括-2
所有素数都是自然数,也就是说,大于0的整数。因此,没有负数是素数。你知道吗
一些来源:
http://mathforum.org/library/drmath/view/55940.html
https://en.wikipedia.org/wiki/Prime_number
我将使用
abs
,绝对值函数。它使消极的积极和积极的积极。你知道吗相关问题 更多 >
编程相关推荐