add 复盘.

This commit is contained in:
Licsber 2022-04-10 05:47:28 +08:00
parent 16950b9a5c
commit 4a67c4295a

View File

@ -0,0 +1,101 @@
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)
def cal_prime_nums(n):
prime = [1] * (n + 1)
prime[0] = prime[1] = 0
for i in range(2, n + 1):
j = i * i
while j <= n:
prime[j] = 0
j += i
res = []
for idx, num in enumerate(prime):
if num:
res.append(idx)
return res
ans = 2022040920220409
check(ans)
prime = cal_prime_nums(99)
ans = 1
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)