整数性质
时间限制: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 4 3 8 737 635
- 例子输出
-
1 0 3 -1 193 -224
- 提示
- 运用欧几里得定理求得的才是正确答案。
- 来源
- 原创
-
上传者
思路:扩展的欧几里得定理,百度搜了一下~
my code:
#include<iostream> #include<stdio.h> using namespace std; int s,t; void extend(int a,int b) { if(b==0) { s=1; t=0; } else { extend(b,a%b); int temp=s; s=t; t=temp-a/b*t; } } int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { extend(a,b); cout<<s<<" "<<t<<endl; } return 0; }