sqrt()函数的详解和用法「建议收藏」

sqrt()函数的详解和用法「建议收藏」sqrt()函数是我们经常使用的一个函数。下面我就详细的介绍它的一些用法和使用规范所需的头文件#include<math.h>函数原型doublesqrt(doublex);作用:sqrt()用来求给定值的平方根常见的使用错误输出36的开根号忽略了sqrt()函数的返回值是double型。导致出错解决办法如下:常见的使用sqrt()函数的规范写法例如:我们要判断一个数是不是质数,只需要判断2~n开根号之间有没有可以整除的数就可以了错误的.

sqrt()函数是我们经常使用的一个函数。下面我就详细的介绍它的一些用法和使用规范

所需的头文件

#include<math.h>
只听到从架构师办公室传来架构君的声音:
三山半落青天外,二水中分白鹭洲。有谁来对上联或下联?

函数原型

此代码由Java架构师必看网-架构君整理
double sqrt(double x);

作用:
sqrt() 用来求给定值的平方根

常见的使用错误
输出 36的开根号
在这里插入图片描述
忽略了sqrt()函数的返回值是 double型。导致出错

解决办法如下:
在这里插入图片描述
常见的使用sqrt()函数的规范写法
例如: 我们要判断一个数是不是质数,只需要判断 2 ~ n开根号 之间有没有可以整除的数就可以了
错误的写法:

bool find(int n)
{ 
   
	for(int i=2;i<=sqrt(n);i++)
	{ 
   
		if(n%i==0)
			return false;
	}
	return true;
}

上面的写法,其实并不推荐这样写。虽然我也经常这样写。
但是在一次做题的过程中,就因为这样写程序出现了bug。
我就改用下面的这种稳妥的写法了
正确的写法:

此代码由Java架构师必看网-架构君整理
bool find(int n) { int sql=(int)sqrt(1.0*n);//1.0*n的目的是 隐式转换成浮点数,开根号后再强制转换成整型 for(int i=2;i<=sql;i++) { if(n%i==0) return false; } return true; }
架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/210098
0
   

发表评论