View Code of Problem 102

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#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 n, m;
	while (cin >> n >> m)
	{
		long long cnt = 0;
		if (n == m)
			cout<<1<<endl;
		else
		{
			for (long long int i = n;i < (int)sqrt(n*m) + 1;i++)
			{
				if (m*n%i == 0)
				{
					long long int z = m * n / i;
					if (gcd(z, i) == n)
					{
						cnt++;
					}
				}
			}
			cout << cnt * 2 << endl;
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 102