【模板】gcd+lcm

#include
#include
#include
#include
using namespace std;
int d,m,t,ans; 
int gcd(int a,int b)
{
    if(b == 0)
        return a;
    return gcd(b,a%b);
}
int lcm(int a,int b)
{
    return a * b / gcd(a,b);
}
int main()
{   
    cin>>t;
    while(t--)
    {
    cin>>d>>m;
    if(d==0||m==0)
    {cout<<0<continue;}
    for(int i=d;i<=m;++i)
        if(lcm(i, d*m/i)==m   &&    gcd(i, d*m/i)==d )
            ans++;          
    cout</*  for(int i=1;i<=m;++i)
        for(int j=1;j<=m;++j)
    if(lcm(i, j)==m   &&    gcd(i, j)==d )
        ans++;
    cout<  }
return 0;
}

你可能感兴趣的:(模板·水,===数论===,基础数论)