约数-试除法
2020-08-04 本文已影响0人
dachengquan
求N的正约数集合-试除法
若d>是一个约数那么
也是一个约数。每个约数都是关于
对称的。还有完全平方数。因此只要扫描1~
的所有数将d和n/d作为约数加入到集合中,特判
是否是n的约数。
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;
}