萌新求助QAQ
查看原帖
萌新求助QAQ
461366
封禁用户楼主2021/10/1 15:14

这道题始终有2个点WA,不知道问题出在哪

#include <bits/stdc++.h>
using namespace std;

bool isPrime(long long x) {
	for (long long i = 2; i * i <= x; i++)
		if (x % i == 0)
			return false;
	return true;
}

set<long long> divs;

int main() {
	long long a, b;
	cin >> a >> b;
	long long g = __gcd(a, b);
	for (long long i = 1; i * i <= g; i++) {
		if (g % i == 0 && isPrime(i)) {
			divs.insert(i);
			if (isPrime(g / i)) divs.insert(g / i);
		}
	}
	cout << divs.size() << "\n";
	return 0;
}
2021/10/1 15:14
加载中...