记得判断 x / i == i 的时候两个约数相同只要记录一个
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
void fun(int x)
{
int a[N],idx = 0;
for(int i = 1; i <= x / i; i ++ )
{
if(x % i == 0)
{
a[idx ++ ] = i;
if(x / i != i)
a[idx ++ ] = x / i;
}
}
sort(a,a + idx);
for(int i = 0; i < idx; i ++ )
cout<<a[i]<<" ";
cout<<endl;
}
int main()
{
int n,x;
cin>>n;
while(n -- )
{
cin>>x;
fun(x);
}
return 0;
}