31 lines
585 B
Python
31 lines
585 B
Python
|
from sys import argv
|
||
|
|
||
|
def binomcoeff(n,k):
|
||
|
nom = 1
|
||
|
denum = 1
|
||
|
for i in range(n-k):
|
||
|
nom *= (n-i)
|
||
|
denum *= (i+1)
|
||
|
v = nom//denum
|
||
|
return v
|
||
|
|
||
|
def is_prime(n):
|
||
|
if n <= 1:
|
||
|
return False
|
||
|
for k in range(1,n):
|
||
|
bc = binomcoeff(n,k)
|
||
|
r = bc % n
|
||
|
# print("%d %% %d = %d" % (bc,n,r))
|
||
|
if r != 0:
|
||
|
return False
|
||
|
return True
|
||
|
|
||
|
if len(argv) > 1:
|
||
|
p = int(argv[1])
|
||
|
if is_prime(p):
|
||
|
print("%d is a prime" % p)
|
||
|
else:
|
||
|
print("%d is not a prime" % p)
|
||
|
else:
|
||
|
print("%s <number>" % argv[0])
|