中国剩余定理

这个定理主要是用来解决找一个数 它能够满足题目要求模一些数等于题目要求的值。
`#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll exgcd(ll a,ll b,ll &x,ll &y)
{
if(!b)
{
x=1,y=0;
return a;
}
ll d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;

}
int main()
{
int n;
cin>>n;
ll a1,m1;
cin>>a1>>m1;
bool has_mod = false;
for(int i=1;i<n;i++)
{
ll a2,m2;
cin>>a2>>m2;
ll k1,k2;
ll d=exgcd(a1,a2,k1,k2);
ll t=a2/d;
if((m2-m2)%d)
{
has_mod=true;
break;
}
k1*=(m2-m1)/d;
k1=(k1%t+t)%t;
m1=a1k1+m1;
a1=abs(a1/d
a2);
}
if(!has_mod)
cout<<(m1%a1+a1)%a1<<endl;
else
cout<<"-1"<<endl;
return 0;

}`

全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务