首页

欢迎

 

Welcome

欢迎来到这里, 这是一个学习数学、讨论数学的网站.

转到问题

请输入问题号, 例如: 2512

IMAGINE, THINK, and DO
How to be a scientist, mathematician and an engineer, all in one?
--- S. Muthu Muthukrishnan

Local Notes

Local Notes 是一款 Windows 下的笔记系统.

Local Notes 下载

Sowya

Sowya 是一款运行于 Windows 下的计算软件.

详情

下载 Sowya.7z (包含最新版的 Sowya.exe and SowyaApp.exe)


注: 自 v0.550 开始, Calculator 更名为 Sowya. [Sowya] 是吴语中数学的发音, 可在 cn.bing.com/translator 中输入 Sowya, 听其英语发音或法语发音.





注册

欢迎注册, 您的参与将会促进数学交流. 注册

在注册之前, 或许您想先试用一下. 测试帐号: usertest 密码: usertest. 请不要更改密码.


我制作的 slides

Problem

随机显示问题

Problèmes d'affichage aléatoires

计算数学 >> 算法
Questions in category: 算法 (Algorithm).

使用牛顿法计算自然数平方根的整数部分

Posted by haifeng on 2021-10-05 16:16:57 last update 2021-10-07 10:39:45 | Answers (0)


有很多情形需要计算一个自然数的平方根, 或者其整数部分.

对于正整数 $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]