View Code of Problem 102

#include<stdio.h>
#include<math.h>
int gcd(int a, int b) {
	while (b) {
		int t = b;
		b = a % b;
		a = t;
	}
	return a;
}
int main() {
	long int x0, y0;
	while (scanf("%ld%ld", &x0, &y0) != EOF) { 
		if (x0 == y0)
			printf("1\n");
		else {
			long int i, j, k = 0;
			for (i = x0; i <= sqrt(x0*y0); ++i)
				if ((y0) % i == 0 && gcd(i, x0*y0 / i) == x0)
					k++;
			printf("%ld\n", k * 2);
		}
	}
}


Double click to view unformatted code.


Back to problem 102