求助!!!!始终WA2个点
#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;
}