84 lines
1.2 KiB
Python
84 lines
1.2 KiB
Python
import math
|
|
|
|
nums = [
|
|
[2, 1],
|
|
[3, 2],
|
|
[4, 1],
|
|
[5, 4],
|
|
[6, 5],
|
|
[7, 4],
|
|
[8, 1],
|
|
[9, 2],
|
|
[10, 9],
|
|
[11, 0],
|
|
[12, 5],
|
|
[13, 10],
|
|
[14, 11],
|
|
[15, 14],
|
|
[16, 9],
|
|
[17, 0],
|
|
[18, 11],
|
|
[19, 18],
|
|
[20, 9],
|
|
[21, 11],
|
|
[22, 11],
|
|
[23, 15],
|
|
[24, 17],
|
|
[25, 9],
|
|
[26, 23],
|
|
[27, 20],
|
|
[28, 25],
|
|
[29, 16],
|
|
[30, 29],
|
|
[31, 27],
|
|
[32, 25],
|
|
[33, 11],
|
|
[34, 17],
|
|
[35, 4],
|
|
[36, 29],
|
|
[37, 22],
|
|
[38, 37],
|
|
[39, 23],
|
|
[40, 9],
|
|
[41, 1],
|
|
[42, 11],
|
|
[43, 11],
|
|
[44, 33],
|
|
[45, 29],
|
|
[46, 15],
|
|
[47, 5],
|
|
[48, 41],
|
|
[49, 46],
|
|
]
|
|
|
|
|
|
def check(number):
|
|
for num, mod in nums:
|
|
a, b = divmod(number, num)
|
|
if b != mod:
|
|
print(f"{number} % {num} == {number % num} != {mod}")
|
|
return False
|
|
|
|
print(f"{number}: pass.")
|
|
return True
|
|
|
|
|
|
def lcm(a, b):
|
|
return a * b // math.gcd(a, b)
|
|
|
|
|
|
ans = 2022040920220409
|
|
check(ans)
|
|
|
|
# 中国剩余定理
|
|
ans = product = 1
|
|
for num, mod in nums:
|
|
while ans % num != mod:
|
|
ans += product
|
|
|
|
product = lcm(product, num)
|
|
print(f"{ans} % {num} == {mod}")
|
|
|
|
print(ans)
|
|
check(ans)
|