ll f(ll x){ //求x的因子个数
ll i,res=0;
for(i=1;i*i<x;i++){
if(x%i==0)res+=2;
}
return res+(i*i==x);
}
巧妙之处:(i*i==x),为真 res+1,为假res+0.
此算法极大优化了复杂度,利用了一种对称思想。
ll f(ll x){ //求x的因子个数
ll i,res=0;
for(i=1;i*i<x;i++){
if(x%i==0)res+=2;
}
return res+(i*i==x);
}
巧妙之处:(i*i==x),为真 res+1,为假res+0.
此算法极大优化了复杂度,利用了一种对称思想。