扩展欧几里得求逆元
int exgcd(int a,int b,int &x,int &y){
if (b==0)
{
x=1;y=0;return a;
}
else {
int d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
}
int inv(int a){
int x,y,b=mod;
exgcd(a,b,x,y);
if (x<0) x+=mod;
return x;
}
int exgcd(int a,int b,int &x,int &y){
if (b==0)
{
x=1;y=0;return a;
}
else {
int d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
}
int inv(int a){
int x,y,b=mod;
exgcd(a,b,x,y);
if (x<0) x+=mod;
return x;
}
相关推荐
程序员花海:1.面试要求必须Java笔试不一定
2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大
3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义
4.八股要一直看 很容易忘记
5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后