算法

数论

1. 一个关于完全平方数的简单结论

都已经想到了是求出所有的完全平方数,但是最后还是做复杂了,其实一步就可以解决的。我没想到这个结论:

1, 2, …, n 中完全平方数的个数就是$ \lfloor \sqrt{n} \rfloor$.

题目链接

由这道题可以得出两个结论:

  1. 除了完全平方数外,任何正整数都有偶数个因子。
  2. 1, 2, …, n 中完全平方数的个数就是 $\lfloor \sqrt{n} \rfloor$.
  3. 由于 $\lfloor \sqrt{n} \rfloor$ 涉及到浮点数运算,为了保证不出现精度问题,我们可以计算 $\lfloor \sqrt{n+\frac{1}{2}} \rfloor$,这样可以保证计算出来的结果向下取整在 32 位整数范围内一定正确。
Read more
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.