使用牛顿法计算自然数平方根的整数部分
有很多情形需要计算一个自然数的平方根, 或者其整数部分.
对于正整数 $N$, 求 $n\in\mathbb{N}$, 使得 $n^2\leqslant N < (n+1)^2$.
Exer: 如果从 1 开始一个一个去试, 则算法复杂度是多少?
for(int i=1; i*i < = N; i++)
这里采用经典的 Newton 法(也称为 Newton-Raphson 法)计算自然数的平方根的整数部分.
References:
[1] 迈克尔 威尔森巴赫 (Michael Welschenbach) 著 密码学 -- C/C++ 语言实现, 机械工业出版社
[2]