zoukankan      html  css  js  c++  java
  • luogu1082 [NOIp2012]同余方程 (扩展欧几里得)

    由于保证有解,所以1%gcd(x,y)=0,所以gcd(x,y)=1,直接做就行了

     1 #include<bits/stdc++.h>
     2 #define pa pair<int,int>
     3 #define CLR(a,x) memset(a,x,sizeof(a))
     4 using namespace std;
     5 typedef long long ll;
     6 const int maxn=1;
     7 
     8 inline ll rd(){
     9     ll x=0;char c=getchar();ll neg=1;
    10     while(c<'0'||c>'9'){if(c=='-') neg=-1;c=getchar();}
    11     while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
    12     return x*neg;
    13 }
    14 
    15 void exgcd(ll a,ll b,ll &x,ll &y){
    16     if(b==0){x=1,y=0;return;}
    17     ll x1,y1;
    18     exgcd(b,a%b,x1,y1);
    19     x=y1;y=x1-a/b*y1;
    20 }
    21 
    22 int main(){
    23     ll a=rd(),b=rd();ll x,y;
    24     exgcd(a,b,x,y);
    25     printf("%lld
    ",(x%b+b)%b);
    26     return 0;
    27 }
  • 相关阅读:
    csrf & xss
    android_sqlite
    android_error
    oracle笔记
    android_lesson_1
    mysql 设置编码
    前端进阶Event
    前端进阶Position
    chrome插件开发资料
    dom4j selectNodes
  • 原文地址:https://www.cnblogs.com/Ressed/p/9735705.html
Copyright © 2011-2022 走看看