#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> get_divisors(int n)
{
vector<int> res;
for (int i = 1; i <= n/i; i++) //如果n是i的平方 不重复计入约数
{
if (n % i == 0)
{
res.push_back(i);
if (i != n/i) res.push_back(n/i);
}
}
sort(res.begin(), res.end());//注意这样用sort的方法
return res;
}
int main()
{
int n;
scanf("%d", &n);
while(n--)
{
int u;
scanf("%d", &u);
vector<int> res = get_divisors(u);
for (auto x : res) printf("%d ", x);
puts("");
}
return 0;
}
试除法求约数
最新推荐文章于 2024-05-31 21:13:08 发布