社区讨论

100Pts求调

P1495【模板】中国剩余定理(CRT)/ 曹冲养猪参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mllqr2wq
此快照首次捕获于
2026/02/14 11:12
5 天前
此快照最后确认于
2026/02/17 15:05
前天
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long 
using namespace std;
int n,m[20],a[20];
int exgcd(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		x=1;y=0;return a;
	}
	int r=exgcd(b,a%b,x,y);
	int tem=x;
	x=y;
	y=tem-a/b*y;
	return r; 
}
int zgsydl()
{
    int ans=0,x,y,M=1,mi;
    for (int i=0;i<n;++i) M*=m[i];
    for (int i=0;i<n;++i)
	{
        mi=M/m[i];
        exgcd(mi,m[i],x,y);
        ans=(ans+a[i]*mi%M*x%M)%M;
    }
    return (ans+M)%M;
}

signed main()
{
    cin>>n;
    for (int i=0;i<n;++i) cin>>m[i]>>a[i];
    cout<<zgsydl()<<endl;
    return 0;
}
谢谢

回复

2 条回复,欢迎继续交流。

正在加载回复...