sqrt()php,实现sqrt()函数

求一个正数N的开方, 并且可以指定精度, 要求不能用库函数sqrt

方法一:如下所示,先求sqrt(N)的整数部分,再求小数点后1位,2位 ... ...

方法二:牛顿迭代法,根据公式 Ai+1 = (Ai+number/Ai)/2 ,其中Ai的初始值,即A1任取,如1,2,3 ...

// 求一个正数N的开方, 并且可以指定精度, 要求不能用库函数sqrt

#include

#include

double my_sqrt2(double number, int point)

{

double new_guess;

double last_guess;

if (number < ) {

printf("Cannot compute the square root of a negative number!\n");

return -;

}

printf("Method 2:\n");

new_guess = ;

do {

last_guess = new_guess;

new_guess = (last_guess + number/last_guess) / ;

printf("%.*lf\n", point, new_guess);

} while (new_guess != last_guess);

return new_guess;

}

double my_sqrt1(double n, int point)

{

if (n < ) {

printf("Cannot compute the square root of a negative number!\n");

return -;

}

int i,j;

for( i=; i-n

if( i*i-n > )

break;

double answer = i-;

double incr = 0.1;

for( j=; j<=point; j++) // 第j次循环,求得i的开方的小数部分的第j位

{

for( i=; i

{

answer += incr;

if( answer*answer-n > )

break;

}

answer -= incr;

incr /= ;

}

incr *= ;

printf("Method 1:\n");

printf("sqrt(%lf) is between %.*lf - %.*lf\n", n, point, answer, point, answer+incr);

return answer;

}

int main(void)

{

int point;

double n;

printf("请输入正整数N: ");

scanf("%lf",&n);

printf("请输入精确到小数点后的位数: ");

scanf("%d",&point);

my_sqrt1(n,point);

my_sqrt2(n,point);

return ;

}

转:一个Sqrt函数引发的血案

转自:http://www.cnblogs.com/pkuoliver/archive/2010/10/06/1844725.html 源码下载地址:http://diducoder.com/sotr ...

&lbrack;转载&rsqb;求平方根sqrt&lpar;&rpar;函数的底层算法效率问题

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

Sqrt函数高效实现

转自一个Sqrt函数引发的血案 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来 ...

一个Sqrt函数引发的血案&lpar;转)

作者: 码农1946  来源: 博客园  发布时间: 2013-10-09 11:37  阅读: 4556 次  推荐: 41   原文链接   [收藏]   好吧,我承认我标题党了,不过既然你来了, ...

【转载】一个Sqrt函数引发的血案

转自:http://www.cnblogs.com/pkuoliver/archive/2010/10/06/sotry-about-sqrt.html 源码下载地址:http://diducoder ...

一个Sqrt函数引发的血案

源码下载地址:http://diducoder.com/sotry-about-sqrt.html 好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获. 我们平时经常会有一些数据运算 ...

sqrt函数实现(神奇的算法)

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

php sqrt&lpar;&rpar;函数 语法

php sqrt()函数 语法 作用:sqrt()函数的作用是对参数进行求平方根 语法:sqrt(X) 参数: 参数 描述 X 进行求平方根的数字 说明:返回将参数X进行开平方后的结果江苏大理石平台 ...

PHP sqrt&lpar;&rpar; 函数

实例 返回不同数的平方根: <?phpecho (sqrt(0) . "
");echo(sqrt(1) . "
"); ...

sqrt函数实现

感谢杨工,让我更加认识到自己技术薄弱,这道题源自于和杨工的非正式面试,当时根本没思路,甚至没和查找有丝毫的联系,看来做自己想做的还是要付出努力的.sqrt()即开平方运算,y=x*x,已知Y的情况下求 ...

随机推荐

mysql安装tcmalloc

TCMalloc(Thread-Caching Malloc)是google-perftools工具中的一个,与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多, ...

UVALive 3027 并查集

#include #include #include #include #i ...

C语言中static作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有 ...

github 或者gitlab 设置添加SSH

克隆项目二种方式: 1. 使用https url克隆,   复制https url 然后到 git clone https-url 2.使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH ...

Django中Q查询及Q&lpar;&rpar;对象

问题 一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,例如下面代码: >>> q1 = Entry.objects.filter(headline__st ...

word2016怎么让目录索引显示在左边?

视图里面 勾选导航窗格即可 前提是你分级分好

Java如何检查一个线程停止或没有?

Java如何检查一个线程停止或没有? 解决方法 下面的示例演示如何使用 isAlive()方法检查一个线程是否停止. public class Main { public static void ma ...

我的SQL里哪个语句占用的CPU最多&quest;

可以使用下面的语句来得到 SELECT SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1, ( (CASE qs.statement_end_off ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值