拓展欧几里得算法

int ex_gcd(int a, int b, int &x1, int &y1){
	int d, x2, y2;
	if(b == 0){
		x1 = 1;
		y1 = 0;
		return a;
	}
	d = ex_gcd(b, a % b, x2, y2);
	x1 = y2;
	y1 = x2 - a / b * y2;
	return d;
}

注:

  • x1,y1并不需要在函数之外申明;
  • &符号的意思是地址传递,作用仅在保存已经算出来的x1,y1值
posted @ 2019-03-26 18:37  羽错光阴  阅读(119)  评论(0)    收藏  举报