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;
}