acwing 869. 试除法求约数

给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。

 

#include<bits/stdc++.h>
#define N 1000000
using namespace std;
int a[N];
int main()
{
    int t;
    cin>>t;
    for(int i=1;i<=t;i++)
    {
        int n;
        cin>>n;
        int k=0;
        for(int j=1;j*j<=n;j++)
            if(n%j==0)
            {
                a[++k]=j;
                if(n/j!=j) a[++k]=n/j;
            }
        sort(a+1,a+k+1);
        for(int i=1;i<=k;i++)
            printf("%d ",a[i]);
        puts(" ");
    }
    return 0;
}

 

posted @ 2020-12-27 14:57  君与  阅读(59)  评论(0编辑  收藏  举报