试除法求约数
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> get_d(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);
}
}
sort(res.begin(), res.end());
return res;
}
int main(){
int n;
cin >> n;
while(n--){
int a;
cin >> a;
auto res = get_d(a);
for(int i = 0; i < res.size(); ++i){
cout << res[i] << " ";
}
cout << endl;
}
return 0;
}
题目
题目 | 难度 |
---|---|
Acwing.试除法求约数 | 模板题 |