题解 1933: 蓝桥杯算法提高VIP-约数个数

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

尝除法求约数

```cpp#includeusingnamespacestd;voidcheck(intn){vectora;for(inti=1;in;check(n);return0;}```
优质题解

1933: 蓝桥杯算法提高VIP-约数个数(算数基本定理)

解题思路:O(n)的算法很容易想到,正好刚学了数论,就写一个求约数的模板吧,它的时间复杂度是O(sqrt(n))根据算数基本定理,一个数可以分成多个质数相乘,例如60=2*2*3*5;而约数个数就是根据算数基本定理来的,约数的个数等于分解出的质数次方+1相乘如60的约数个数为:(2+1)*(1+1)*