zoukankan      html  css  js  c++  java
  • HDU2699 扩展欧几里德

    
    

    //赤裸裸,不解释

    #include<stdio.h>

    typedef long long LL;                 //hdu需用int64

    void gcd(int a,int b,LL& d,LL& x,LL& y){
        if(!b){
            d=a;x=1;y=0;
        }
        else{
            gcd(b,a%b,d,y,x);
            y-=x*(a/b);
        }
    }

    int main(){
        int a,b;
        while(~scanf("%d%d",&a,&b)){
            LL d,x,y;
            gcd(a,b,d,x,y);
            if(d==1){
                while(x<0){                 //这儿应该注意一下,解的通项为:(x+kb,y-ka)     //k为任意整数
                    x+=b;
                    y-=a;
                }
                printf("%lld %lld ",x,y);
            }
            else{
                puts("sorry");
            }
        }
    }


  • 相关阅读:
    To be a master II.
    To be a master.
    快速排序
    选择排序
    冒泡排序
    Myeclipse 2013 Pro 激活工具
    Java多线程
    设计模式:动态代理
    面向对象
    新安装mysql修改密码,远程访问授权
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703239.html
Copyright © 2011-2022 走看看