给m,n
找出满足gcd(m,n)==gcd(m+x,n)&&x>=0&&m<n的所有整数x的个数
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll gcd(ll m, ll n) {
return n % m == 0 ? m : gcd(n % m, m);
}
int main()
{
ll t;
cin >> t;
while (t--) {
ll m, n;
cin >> m >> n;
n /= gcd(m, n);
ll s = n;
for (ll i = 2; i * i <= n; ++i)
if (n % i == 0)
{
while (n % i == 0)
n /= i;
s = s / i * (i - 1);
}
if (n != 1)
s = s / n * (n - 1);
cout << s << endl;
}
}