整数性质
时间限制:
500 ms | 内存限制:
65535 KB
难度:1
-
描述
-
我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s、t使得sa+tb=gcd(a,b)。
-
输入
-
多组测试数据。
每组数据输入两个非负整数a和b且a+b>0且a不等于b。
其中0<=a,b<100000。
输出
- 输出满足条件的 s 和 t 。 样例输入
-
2 43 8737 635
样例输出
-
1 03 -1193 -224
提示
- 运用欧几里得定理求得的才是正确答案。 来源
- 原创 上传者
//扩展欧几里得定理 #include<cstdio> #include<cmath> #include<iostream> using namespace std; int x,y,q; void extend_Euclid(int a,int b) { if(b==0) { x=1; y=0; q=a; } else { extend_Euclid(b,a%b); int temp=x; x=y; y=temp-a/b*y; } } int main() { int a,b; while(~scanf("%d%d",&a,&b)) { extend_Euclid(a,b); printf("%d %d\n",x,y); } return 0; }
-
多组测试数据。
扩展:欧几里得定理 即 射影定理