大家好,又见面了,我是你们的朋友全栈君。
sqrt()函数是我们经常使用的一个函数。下面我就详细的介绍它的一些用法和使用规范
所需的头文件
#include<math.h>
函数原型
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。 我就改用下面的这种稳妥的写法了 正确的写法:
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://javaforall.cn/132640.html原文链接:https://javaforall.cn