题目:
代码:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> get_divisors(int n){
vector<int> res;
for(int i=1;i<=n/i;i++){ //约数成对存在,只需要枚举较小的那个数
if(n%i==0){
res.push_back(i);
if(i!=n/i) res.push_back(n/i); //判断边界:i!=n/i防止重复
}
}
sort(res.begin(),res.end());
return res;
}
int main(){
int n;
cin>>n;
while(n--){
int a;
cin>>a;
auto res=get_divisors(a);
for(auto t:res) cout<<t<<" ";
cout<<endl;
}
return 0;
}