約数列挙
(math/divisor_list.hpp)
Code
#pragma once
/**
* @brief 約数列挙
*/
template<typename T>
auto divisor_list(T n){
vector<T>res;
for(int i=1;i<=sqrt(n);i++){
if(n%i)continue;
res.push_back(i);
if(i*i!=n)res.push_back(n/i);
}
sort(res.begin(),res.end());
return res;
}
#line 2 "math/divisor_list.hpp"
/**
* @brief 約数列挙
*/
template<typename T>
auto divisor_list(T n){
vector<T>res;
for(int i=1;i<=sqrt(n);i++){
if(n%i)continue;
res.push_back(i);
if(i*i!=n)res.push_back(n/i);
}
sort(res.begin(),res.end());
return res;
}
Back to top page