//nの約数を小さい順に列挙した配列を返す
//計算量:O(√n)
template <typename T>
vector<T> divisor(T n)
{
    vector<T> ret1, ret2;
    for (T i = 1; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            ret1.push_back(i);
            if (i * i != n)
                ret2.push_back(n / i);
        }
    }
    T siz = ret2.size();
    for (T i = (siz - 1); i >= 0; i--)
    {
        ret1.push_back(ret2[i]);
    }
    return (ret1);
}
    
    
© 2020 kacho65535