python 根据给定条件求素数或合数的代码
python code to find prime or composite number according to given condition
Q) 所有质数都可以写成6m+1或6m-1的形式,其中m>=1。编写一个程序,如果满足上述 属性 则打印“无法确定”,否则打印“复合数”。
我不知道如何将给定的语句放入代码中。我尝试了一些代码(例如下面给出的代码)但没有什么让我印象深刻。请帮忙。我的代码在 pastebin 中 link 因为这里的格式设置不正常
n=int(input())
for m in range(1,n):
if n==6*m+1 or n==6*m-1:
print("Cannot be determined")
else:
print("Composite number")
break
存在缩进错误,同时删除了 n 变量声明附近的“”。当条件满足而不是在 if 语句之外时中断循环。它只会检查 m=1 并中断循环。采用一个新变量,该变量将在满足条件且循环中断时更新其值。如果变量被更新,它是质数,如果变量没有被更新,则条件永远不满足,它是复合的。编辑代码:
n=int(input())
m=int()
f=0 #new variable
for m in range(1,n):
if n==6*m+1 or n==6*m-1:
f=1 #update the variable when condition satisfied
break #break the loop
else:
continue
if f==1: #updated value when condition satisfied
print("Cannot be determined")
else:
print ("Composite")
循环没有意义,它只是不必要的工作并且它不太清楚。对于某个整数 m,每个大于 3 的素数 p 必须具有 6m + 1 或 6m - 1 的形式。这相当于说 p = 1 mod 6 或 p = -1 = 5 mod 6。所以就把它作为测试。
n=int(input('Enter value to test for primality: '))
# assume n > 3
if n % 6 in (1, 5):
print("Cannot be determined")
else:
print("Composite number")
Q) 所有质数都可以写成6m+1或6m-1的形式,其中m>=1。编写一个程序,如果满足上述 属性 则打印“无法确定”,否则打印“复合数”。
我不知道如何将给定的语句放入代码中。我尝试了一些代码(例如下面给出的代码)但没有什么让我印象深刻。请帮忙。我的代码在 pastebin 中 link 因为这里的格式设置不正常
n=int(input())
for m in range(1,n):
if n==6*m+1 or n==6*m-1:
print("Cannot be determined")
else:
print("Composite number")
break
存在缩进错误,同时删除了 n 变量声明附近的“”。当条件满足而不是在 if 语句之外时中断循环。它只会检查 m=1 并中断循环。采用一个新变量,该变量将在满足条件且循环中断时更新其值。如果变量被更新,它是质数,如果变量没有被更新,则条件永远不满足,它是复合的。编辑代码:
n=int(input())
m=int()
f=0 #new variable
for m in range(1,n):
if n==6*m+1 or n==6*m-1:
f=1 #update the variable when condition satisfied
break #break the loop
else:
continue
if f==1: #updated value when condition satisfied
print("Cannot be determined")
else:
print ("Composite")
循环没有意义,它只是不必要的工作并且它不太清楚。对于某个整数 m,每个大于 3 的素数 p 必须具有 6m + 1 或 6m - 1 的形式。这相当于说 p = 1 mod 6 或 p = -1 = 5 mod 6。所以就把它作为测试。
n=int(input('Enter value to test for primality: '))
# assume n > 3
if n % 6 in (1, 5):
print("Cannot be determined")
else:
print("Composite number")