zoukankan      html  css  js  c++  java
  • 自己动手实现C标准库中sqrt()函数

    今天在C和指针P63看到了这个计算公式,ai+1 = ( ai + number/ai ) / 2。之前也有在网上看到过,不过出处忘了,记得好像是关于组合数学还是数论里面的一个内容。

    公式很简单,理论这个我就不懂了,还希望各位给指导一下。下面贴出自己的代码,作为记忆保留。

     1 float my_sqrt(float number) {
     2     float new_guess;
     3     float last_guess;
     4     
     5     if (number < 0) {
     6         printf("Cannot compute the square root of a negative number!\n");
     7         return -1;
     8     }
     9     
    10     new_guess = 1;
    11     do {
    12         last_guess = new_guess;
    13         new_guess = (last_guess + number / last_guess) / 2;
    14         printf("%.15e\n", new_guess);
    15     } while (new_guess != last_guess);
    16     
    17     return new_guess;
    18 }
  • 相关阅读:
    poj2679
    poj2709
    poj1521
    poj2054
    静脉曲张病案
    眩晕耳鸣病案
    声嘶治验
    甘露消毒丹治疗高热不退一例
    黄芩汤加减治疗腹痛一例
    自残症治愈案
  • 原文地址:https://www.cnblogs.com/ziyoudefeng/p/2683032.html
Copyright © 2011-2022 走看看