警示后人如果你WA6 7 9 10 11 13(TLE5)
查看原帖
警示后人如果你WA6 7 9 10 11 13(TLE5)
752017
buowen123楼主2024/1/21 16:48

如果你的求 phi(欧拉函数)长成这样:

ll PHI(ll x) {
	ll y = x;
	for(ll i = 2; i * i <= y; ++i) {
		if(y % i == 0) {
			x = x / i * (i - 1);
			while(y % i == 0) y /= i;
		}
	}
	if(y != 1) x = x / y * (y - 1); //如果没有这一行把它加上
	return x;
}

因为离谱的错误反倒大部分点都对了所以很难调。

另外,首要任务一定是检查 long long,其次才是 phi 函数和逻辑有没有对。

2024/1/21 16:48
加载中...