AcWing 869. 试除法求约数
原题链接
简单
作者:
Doc_kk
,
2023-03-19 16:55:45
,
所有人可见
,
阅读 24
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> get_divisors(int x){
vector<int> res;//用容器保存结果 主要方便排序
for(int i = 1 ; i <= x/i ; i ++)//因为1也是因子
if(x % i == 0){//如果i是x的因子
res.push_back(i);//把i加进来
if(i != x / i) res.push_back(x/i);//和i对应的也是因子 放进来 顺便特判一个 如果x=i^2只放一个
}
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 i:res) cout << i <<' ';
cout <<endl;
}
return 0;
}