View Code of Problem 102

#include<iostream>
#include<cmath>

using namespace std;

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

int main() {
	long long int P, Q;

	while (cin >> P >> Q) {
		int cnt = 0;
		if (Q % P != 0) {
			cout << 0 << endl;
			continue;
		}
		else if (Q == P) {
			cout << 1 << endl;
			continue;
		}
		else {
			for (int i = P; i <= sqrt(P * Q); i+=P) {
				if (gcd(i, P * Q / i) == P) {
					cnt += 2;
				}
			}
		}
		cout << cnt << endl;
	}
}

Double click to view unformatted code.


Back to problem 102