萌新求助 bin gcd
查看原帖
萌新求助 bin gcd
537046
大眼仔Happy楼主2024/7/29 16:46
int gcd(int a, int b) {
	int az = __builtin_ctz(a);
	int bz = __builtin_ctz(b);
	int z = az < bz ? az : bz, d;
	b >>= bz;
	while(a) {
		a >>= az, d = b - a;
		az = __builtin_ctz(d);
		if(a < b)b = a;
		if(d < 0)a = -d; // 这里 
		else a = d;
	}
	return b << z;
}

改成 d <= 0 却超时了,这是为什么?

2024/7/29 16:46
加载中...