<span style="font-size:14px;"> </span>今天在图书馆借了一本《高效能程序员的修炼》,内容幽默风趣。(其实我是看到作者是stack overflow创始人,才借的)。看到几十页中有一个例子是关于求平方根的,代码很简单,但是```第一次没看懂····才知道原理是根据牛顿-拉夫逊方法即牛顿迭代法,具体细节大家可以百度一下。
<span style="font-size:14px;">private double SquareBootAppr(int n) { double r=n/2; while(abs(r-n/r)>t) //t=0.0000001 { r=0.5*(r+n/r); } return r; }</span>
<span style="font-size:14px;">private double SquareBootAppr(int n) { int r=0; for(int i=15;i>0;i++) { if((r+(1<<i))*(r+(1<<r))<n) { r+=1<<i; } } return r; }</span>
原文地址:http://blog.csdn.net/tenderhearted/article/details/39318711