C++函数——数学
cmath 库是个好用的头文件,里面拥有很多好用的函数。
本篇文章就将讲解这些函数。
max 函数
max 函数能返回两个数的较大值,但缺点是参数只能在 int 范围之内,例如:
cout<<max(3,5);
输出结果:
5
min 函数
min 函数能返回两个数的较小值,和 max 函数一样,参数只能在 int 范围之内,例如:
cout<<min(3,5);
输出结果:
3
pow 函数
pow 是幂次方函数
pow(a,b)
表示 \(a^b\),并且 \(a\) 和 \(b\) 都可以为浮点数,例如:
cout<<pow(2,5);
输出结果:
32
sqrt 函数
sqrt 是平方根函数
sqrt(a)
表示 \(\sqrt{a}\),\(a\) 可以为浮点数,例如:
cout<<sqrt(9);
输出结果:
3
补充一下 pow(a,1.0/2)
也能当做 sqrt
用。
立方根函数为 `pow(a,1.0/3)
abs 函数
abs 是绝对值函数
abs(a)
表示 \(|a|\),但 \(a\) 只能是整数,例如:
cout<<abs(-4);
输出结果:
4
fabs 函数
fabs 也是绝对值函数
fabs(a)
表示 \(|a|\),但 \(a\) 可以是浮点数,例如:
cout<<fabs(-3.1415);
输出结果:
3.1415
gcd 函数
gcd 函数是求最大公因数,但 gcd 函数要自己定义,例如:
int gcd(int a,int b)
{
return (a%b==0)?b:gcd(b,a%b);
}
然后
cout<<gcd(4,6);
输出结果
2
lcm 函数
lcm 函数是求最小公倍数,但 lcm 函数也要自己定义,并且还得先要有 gcd 函数,例如:
int gcd(int a,int b)
{
return (a%b==0)?b:gcd(b,a%b);
}
int lcm(int a,int b)
{
return a*b/gcd(a,b);
}
然后
cout<<lcm(4,6);
输出结果
12