【试除法】AcWing869.试除法求约数
AcWing869.试除法求约数

题解
#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)
    {
        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, t;
    cin >> t;
    while(t--)
    {
        cin >> n;
        auto res = get_divisors(n);
        for(auto i: res)
            cout << i << " ";
        cout << endl;
    }
    return 0;
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号