DDV1 @ 2024-08-11 21:01:18
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
int u,i;
u=a;
i=b;
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
int r=a;
a=u;
b=i;
return r;
}
int lcm(int a,int b){
int o;
o=(a*b)/gcd(a,b);
return o;
}
int main(){
int x0,y0,add=0;
long long c;
cin>>x0>>y0;
if(x0==y0){
cout<<1;
return 0;
}
c=x0*y0;
for(int i=2;i<=c;++i){
if(c%i==0){
if(gcd(i,c/i)==x0){
add=add+1;
}
}
}
cout<<add;
return 0;
}
这是为什么? (蒟蒻求大佬解答)