论sort报错
  • 板块灌水区
  • 楼主lrj3247
  • 当前回复15
  • 已保存回复15
  • 发布时间2024/8/20 21:28
  • 上次更新2024/8/21 08:47:06
查看原帖
论sort报错
983702
lrj3247楼主2024/8/20 21:28
#include <bits/stdc++.h>
using namespace std;
const int N=2e4+15;
int r,g,sr,sg,n,d,ans[N],cnt;
inline void write(int x){
	if(x<0) putchar('-'),x=-x;
	if(x>9) write(x/10);
	putchar(x%10+'0');
}
int gcd(int a,int b){
	if(b==0) return a;
	return gcd(b,a%b);
}
int main(){
	//scanf("%d%d",&r,&g);
	cin>>r>>g;
	sr=sqrt(r),sg=sqrt(g);
	d=gcd(r,g);
	n=max(sqrt(r),sqrt(g));
	for(int i = 1 ; i<=n ; i++){
		if(r%i==0&&g%i==0){
			ans[++cnt]=i;
			if(i!=d/i)
			ans[++cnt]=d/i;
		}
	}
	sort(ans+1,ans+cnt+1,sizeof(ans));
	for(int i = 1 ; i<=cnt ; i++){
		cout<<ans[i]<<" "<<r/ans[i]<<" "<<g/ans[i]<<endl;
	}
	return 0;
}
2024/8/20 21:28
加载中...