模板之小试牛刀---我有点明白为什么这么多人骂c++了(终,算法改变世界)

来源:互联网 发布:走出趣软件下载 编辑:程序博客网 时间:2024/06/02 11:41

上一个版本使用了2分法计算整数平方根,光光看代码也觉得有些麻烦吧,收敛也比较慢,vc6在80左右的时候就要说模板递归太深受不了了。

现在在来看一个用牛顿迭代法来加速收敛的方法。迭代次数大大减少,vc6可以支持到大约225了。

还是上代码。和上一份比,代码有些很小的变动。4个宏依然继续可以用。

上菜 

 

要点:enum {next = (M1 + N/M1)/2};//newton iterator method


y=x2   =>   x=(x+y/x)/2 

而当y大于0时,(x+y/x)/2 的不动点只有一个:y1/2

这个例子很直白的告诉我们,算法一点小的进步,coder就可以向前进一大步。

走路先走头,再走脚。你说这是什么科学家呢?

原创粉丝点击