求N的正約數(shù)集合-試除法
若d>是一個(gè)約數(shù)那么
也是一個(gè)約數(shù)。每個(gè)約數(shù)都是關(guān)于
對(duì)稱的。還有完全平方數(shù)。因此只要掃描1~
的所有數(shù)將d和n/d作為約數(shù)加入到集合中,特判
是否是n的約數(shù)。
vector<int> get_div(int n){
vector<int> a;
for(int i = 1;i <= n/i;i++){
if(n%i==0){
a.push_back(i);
if(i!=n/i) a.push_back(n/i);
}
}
sort(a.begin(),a.end());
return a;
}