中国剩余定理,考虑互素方向

img


n=eval(input())
lis1=[]
lis2=[]
for in in range(n):
  data=map(int,input().split())
  lis1=lis1.append(data.split(' ')[0])
  lis2=lis2.append(data.split(' ')[1])

只会这点,好像输入也有错误,不知道应该怎么改

import math

n = int(input())
nums={}
for _ in range(n):
    i, j = map(int,(input().split()))
    nums[i]=j

ni = {}
for i in nums:
    a = math.prod(set(nums.keys())-{i})
    b = a
    while b%i != 1:
        b += a
    ni[i]=b

x = sum(nums[i]*ni[i] for i in nums) % math.prod(nums.keys())
print(x)