整数性质
时间限制:
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; }
-
多组測试数据。