add second example
parent
3641605982
commit
493e68f619
|
@ -1,4 +1,5 @@
|
|||
import sys, re
|
||||
|
||||
# Возвращает абсолютно наименьший вычет числа a по модулю числа b
|
||||
def v(a, b):
|
||||
r1 = a % b
|
||||
|
@ -11,4 +12,28 @@ def solve(a, p):
|
|||
return pow(-1, cnt)
|
||||
|
||||
f = re.fullmatch(r'(\d+)/(\d+)', sys.argv[1]).groups()
|
||||
print(solve(int(f[0]), int(f[1])))
|
||||
print(solve(int(f[0]), int(f[1])))
|
||||
|
||||
# Более длинное, но подробное решение
|
||||
# # Вернет систему абсолютно наименьших вычетов числа
|
||||
# def system(a):
|
||||
# if a % 2:
|
||||
# return [i for i in range(-(a-1)//2, (a-1)//2+1)]
|
||||
# else:
|
||||
# return [i for i in range(-a//2+1, a//2+1)]
|
||||
|
||||
# # Возвращает абсолютно наименьший вычет числа a по модулю числа b
|
||||
# def v(a, b):
|
||||
# s = system(b)
|
||||
# for e in s:
|
||||
# if a % b == e % b:
|
||||
# return e
|
||||
|
||||
# def legendre(a, p):
|
||||
# count = 0
|
||||
# for i in range(1, (p-1)//2+1):
|
||||
# if v(i*a, p) < 0:
|
||||
# count += 1
|
||||
# return pow(-1, count)
|
||||
|
||||
# print(legendre(11,347))
|
Loading…
Reference in New Issue