清北灵堂的奇怪数论

清北灵堂的《简单数论》

  Exgcd

    大数翻倍法

        

int exgcd(int a1,int p1,int a2,int p2)
//x%p1=a1
//x%p2=a2
{
    if(p1<p2) swap(a1,a2),swap(p1,p2);
    int x=a1;
    while(x%p2!=a2) x+=p1;
    //x对p1取模,所以加一点p1也行,可以一只加p1直到它满足p2为止 
    return x%lcm(p1,p2);
}

 

posted @ 2021-10-05 18:58  Konjac-Simit  阅读(21)  评论(0)    收藏  举报