compro_library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub siro53/compro_library

:warning: 約数列挙
(math/divisor.hpp)

Code

#pragma once

#include <algorithm>
#include <type_traits>
#include <vector>

template <typename T, std::enable_if_t<std::is_integral<T>::value, int> = 0>
std::vector<T> divisor(T n) {
    std::vector<T> ret;
    for(T i = 1; i * i <= n; i++) {
        if(n % i == 0) {
            ret.push_back(i);
            if(i * i != n) ret.push_back(n / i);
        }
    }
    std::sort(ret.begin(), ret.end());
    return ret;
}
#line 2 "math/divisor.hpp"

#include <algorithm>
#include <type_traits>
#include <vector>

template <typename T, std::enable_if_t<std::is_integral<T>::value, int> = 0>
std::vector<T> divisor(T n) {
    std::vector<T> ret;
    for(T i = 1; i * i <= n; i++) {
        if(n % i == 0) {
            ret.push_back(i);
            if(i * i != n) ret.push_back(n / i);
        }
    }
    std::sort(ret.begin(), ret.end());
    return ret;
}
Back to top page