a*b=gcd*lcm
for i:x~y 枚举每一个数
if (由两数乘积得出的另一个数存在 && gcd(i,另一个数)==n)
ans++; 代码: #include<bits/stdc++.h>
using namespace std;
int g,l,ans;
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
int main(){
cin>>g>>l;
for(int i=g;i<=l;i++){
if(g*l%i==0&&gcd(g*l/i,i)==g) cout<<i<<" "<<g*l/i<<endl,ans++;
}
cout<<ans<<endl;
return 0;
} 
京公网安备 11010502036488号