社区讨论

RE求条

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mlk961r2
此快照首次捕获于
2026/02/13 10:12
6 天前
此快照最后确认于
2026/02/13 10:23
6 天前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define int __int128
int n,x,y,a[11],b[11],s,ans;
int read(){
	int x=0,f=1;
	char c=getchar();
    while(c<'0'||c>'9') {
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=(x*10)+(c-'0');
		c=getchar();
	}
	return x*f;
}
int exgcd(int a,int b,int &x,int &y){
	if(b==0){
		x=1,y=0;
		return a;
	}
	int px,py;
	int d=exgcd(b,a%b,px,py);
	x=py;
	y=px-a/b*py;
	return d;
}
void wrt(int x){
	if(x>=10) wrt(x/10);
	putchar(x%10+'0');
	return;
}
signed main(){
	n=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
        b[i]=read();
		s*=a[i];
	}
	for(int i=1;i<=n;i++){
		int p=s/a[i];
		exgcd(p,a[i],x,y);
		ans=(ans+p*b[i]*x)%s;
	}
	wrt(ans%s);
	return 0;
}

回复

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

正在加载回复...