约数个数与具体值的求解

来源:互联网 发布:cmd修复网络连接 编辑:程序博客网 时间:2024/06/05 20:18

1:求一个数的约数个数:由约数个数定理可知,对于一个大于1正整数n可以分解质因数:


 

则n的正约数的个数就是

  

其中a1、a2、a3…ak是p1、p2、p3…pk的指数。

2 求1到n的所有数的约数个数:

         按顺序考虑每一个质数p及他们的次方,对于任意一个数y = p^w * x, 则他应当新增的因子数为w * (x的因子数)。先筛出素数,再按照枚举的方法挨个相加即可。

3.求出一个数的所有约数。

         从1到sqrt(n),挨个枚举判断是不是因数即可。

4.求出1到n的所有数的约数

         枚举每个数,再枚举这个数的倍数,将这个数当作那个数的因数存好即可。(有没有复杂度更低的方法?)

原创粉丝点击