求助
查看原帖
求助
1343850
dumn2011man楼主2024/6/15 08:12
#include<bits/stdc++.h>
using namespace std;
int gcd(int m,int n){
	if(n==0) return m;
	int c;
	while(m%n!=0){
		c=m%n;
		m=n;
		n=c;
	}
	return n;
}
int main(){
	int x,y,cnt=0;
	cin>>x>>y;
	for(int i=x;i<=sqrt(x*y);i++){
		if(x*y%i==0&&gcd(i,x*y/i)==x) cnt++;
	}
	cnt*=2;
	int m=sqrt(x*y);
	if(m*m==x*y){
		cnt-=1;
	}
	cout<<cnt;
	return 0;
}


为什么测试点三错了!!!
2024/6/15 08:12
加载中...