NYOJ 整数性质

描述

我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s、t使得sa+tb=gcd(a,b)。

输入
多组测试数据。
每组数据输入两个非负整数a和b且a+b>0且a不等于b。
其中0<=a,b<100000。
输出
输出满足条件的 s 和 t 。
样例输入
2 4
3 8
737 635
样例输出
1 0
3 -1
193 -224

直接模板代码就解决了。
 1 #include <stdio.h>
 2 
 3 void MEuclid(int a,int b,int &d,int &x,int &y)
 4 {
 5  if(b==0){d=a;x=1;y=0;return;}
 6  MEuclid(b,a%b,d,y,x);
 7  y-=x*(a/b);
 8 }
 9 
10 int main(void){
11     int a,b,x,y,d;
12     while(scanf("%d%d",&a,&b) != EOF){
13         MEuclid(a,b,d,x,y);
14         printf("%d %d\n",x,y);
15     }
16     return 0;
17 }

 

posted @ 2016-05-04 20:49  赤云封天  阅读(151)  评论(0编辑  收藏  举报