关于(也许) gcd 除 0 导致的 RE
查看原帖
关于(也许) gcd 除 0 导致的 RE
255169
__LePetitPrince__楼主2024/3/29 15:57

这题我一开始一直 RE,gcd 是这么写的

ll gcd(ll a, ll b) {
	if (a % b == 0) return b;
	else return gcd(b, a % b);
}

然后回 CF 看了一下发现他提示我 if (a % b == 0) return b; 有问题,但是我也不知道为啥错了,因为在 b 为 0 之前函数就应该已经返回了,但是我把它改成 if (b == 0) return a; 就过了

关键是我 exgcd 一直写的

void exgcd(ll a, ll b, ll &x, ll &y) {
	if (a % b == 0) x = 0, y = 1;
	else exgcd(b, a % b, y, x), y -= a / b * x;
}

这里没有改过,求为啥会 RE 啊 Orz

AC:https://www.luogu.com.cn/record/153045300

RE:https://www.luogu.com.cn/record/153044926

2024/3/29 15:57
加载中...