C++数学函数超详解

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

输输出

输出自变量取值为区间 [1,10] 的整数时,对应的结果,每行一个答案。结果均保留一位小数。

样样例输入

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值