1.数学函数头文件
在C++中,想要使用数学函数,就需要这个头文件:
#include<cmath>
2.认识乘方
初中生高中生应该很熟悉
众所周知,乘法是简便的加法
如6 + 6 + 6,可简化成6 ×3
乘方就是简便的乘法
如6 ×6 ×6,可简化成6^3(6的3次方)
n的m次方的含义,就是m个n相乘(注意:不是m和n相乘)
在n的m次方中,n为底数,m为指数
我们通常管2次方叫平方,3次方叫立方
3.乘方函数pow()
pow()函数可以简便的计算乘方
pow()函数有两个参数,分别是底数和指数,可以是int型或double型
如下例:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n,m;
scanf("%d%d",&n,&m);
printf("%d",pow(n,m));
return 0;
}
当输入为5、5的时候,输出为3125
当输入为2、16的时候,输出65536
可以试试把int改成double
4.认识开根
初中生和高中生同样很熟悉
加法的逆运算是减法,乘法的逆运算是除法
那么,乘方的逆运算?
有两个。开根和对数
怎么会有两个?
因为加法和乘法有交换律,而乘方没有
开根是求底数,对数是求指数
在实际运用中,平方根比较多
记一记:对s开b次方根结果是a,n是b的倒数,那么s的n次方也是a
举个例子:
2^4=16,对16开四次方根,结果是2
2的四分之一次方,也是2
5.平方根函数sqrt()
自然,平方根也有一个函数,sqrt()
只有一个参数,就是被开根的数
如:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double n;
scanf("%f",&n);
printf("%.5f",sqrt(n));
return 0;
}
当输入为3.1415926时,输出1.77245
还有一个立方根函数cbrt(),可以自己试一试
6.多次方根的运用
刚才提到了多次方根,接下来就要讲讲多次方根的应用
比如,对65536开16次方根:
#include<iostream>
#include<cmath>
using namespace std;
int main( ){
int n=65536;
float m=pow(n,1/16);
printf(“%.2f”,m);
return 0;
}
运行结果:2.00
多次方根可以用pow()函数解决
7.认识对数
高中的内容
如果a^y=x(a>1),那么数 x 叫做以 a 为底 x 的对数;
记作 y=log a(x),读作以a 为底 x 的对数,其中a叫做对数的底数,x叫做真数。
一般地,函数 y=log a(x)(a>1)叫做对数函数,也就是说以幂(真数)为自变量,指数为因变量,底数为常量的函数,叫对数函数。
8.对数函数log()
对数也有一个函数log()
数学:y=log a(x)
C++:y=log(x)/log(a);
9.取整、四舍五入函数
取整是很常见的数学函数类型
向下取整floor()、int()
即将小数截取小数点后的部分
向上取整ceil()
是向下取整之后再加1
四舍五入函数round()
这个大家都懂,这个函数为我们省去了麻烦的if……else……
10.绝对值
| -3 —— -2 —— -1 —— 0 —— 1 —— 2 —— 3 |
上面是一个-3到3的数轴
数学中的绝对值指的是一个数在数轴上与0的距离
如-3和3在数轴上与0的距离都是3
所以-3的绝对值是3,3的绝对值也是3
也可以这么理解:负数变符号,正数不变号
11.函数汇总
round() 四舍五入函数
ceil() 向上取整函数
floor() 向下取整函数
int() 向下取整函数
pow() 乘方函数
sqrt() 平方根函数
cbrt() 立方根函数
pow(x,1/n) 对x开n次方根
log(真数)/log(底数) 对数函数
log10() 常用对数(以10为底数)函数
log(exp()) 自然对数(以e⚝为底数)函数
abs() 整数绝对值函数
fabs() 浮点数绝对值函数
⚝:e=1+1÷1+1÷(1×2)+1÷(1×2×3)+……+1÷(1×2×……×∞)
⚝:e≈2.71828
12.练习题
取整
内存限制:128 MB时间限制:1.000 S
题题目描述
读入一个小数x,分别输出x向下取整,向上取整,四舍五入后的结果。
样样例输入
1.2
样样例输出
1 2 1
海伦公式
内存限制:128 MB时间限制:1.000 S
题题目描述
海伦公式:利用三角形的三条边的边长直接求三角形面积的公式。
表达式为:p=sqrt((p−a)(p−b)(p−c))
其中a,b,c分别表示三角型的三条表的长度,p=(a+b+c)÷2
输输入
读入三个整数a,b,c
输输出
输出三角形的面积,答案保留5位小数
样样例输入
1 2 3
样样例输出
0.00000
对数函数
内存限制:128 MB时间限制:1.000 S
题题目描述
输输入
读入常数a。
输输出
输出自变量x 取值为区间 [1,10] 的整数时,对应y 的结果,每行一个答案。结果均保留一位小数。
样样例输入
2
样样例输出
0.0
1.0
1.6
2.0
2.3
2.6
2.8
3.0
3.2
3.3
160: 金币质检
内存限制:128 MB时间限制:1.000 S
题目描述
现在有n枚钱币,其中一枚是假币,并且比真币重。给你一个天平,最坏情况下需要几次称量可以确定这枚假币?
输入
读入一个整数n(1<=n<=10)
输出
输出最少的称量次数。
样例输入
3
样例输出
1