66_exgcd.sy 352 Bytes
Newer Older
龚平's avatar
init  
龚平 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
int exgcd(int a,int b,int x[],int y[]) {
	if(b == 0) {
		x[0] = 1;
		y[0] = 0; 
		return a;			
	}
	else {
		int r = exgcd(b, a % b, x, y);		
		int t = x[0];
		x[0] = y[0];
		y[0] = (t - a / b * y[0]);
		return r;
	}
} 

int main() {
	int a = 7, b = 15, x[1] = {1}, y[1] = {1};
	exgcd(a, b, x, y);
	x[0] = (x[0] % b + b) % b;
	putint(x[0]);
	return 0;
}