题解
2025-03-31 14:35:33
发布于:北京
52阅读
0回复
0点赞
很明显 是 的公约数,也就是 的约数,直接枚举即可。要注意约数成对出现,所以复杂度为 .
Code:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define eb emplace_back
ll a,b,n;
vector<ll> ans;
int main(){
cin>>a>>b;
n=__gcd(a,b);
for(ll i=1;i*i<=n;i++){
if(n%i==0){
ans.eb(i);
if(i*i<n) ans.eb(n/i);
}
}
sort(ans.begin(),ans.end());
for(auto &i:ans) cout<<i<<' ';
return 0;
}
这里空空如也
有帮助,赞一个