求一正整数约数的个数

这个问题存很有意思,因为用到了一个性质,就是: 设正整数 i, n。 若 i 是 n 的约数,那么 n / i 也必是 n 的约数。

由此可见,约数都是成对出现的,所以只需要枚举到 √n 就可以,因为大于 √n 的那些约数就是前面提到的 n / i。

所以,只需要枚举 √n 之前的数,并在统计后乘 2 就解决了。

另外说一点,打出『√』的组合键是 option + v

 

posted @ 2015-09-14 12:06  wu_overflow  阅读(587)  评论(0编辑  收藏  举报