赞
踩
总所周知,我们在高中学过对数函数,记作y=logax。下面是百度百科关于对数函数的描述:
而在C++/C语言中,也有对数函数,只不过表示方式略有不同。
在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double log(double x);
例如:
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- using namespace std;
- int main()
- {
- printf("%f\n",log(10));
- return 0;
- }
输出:
在C++/C语言中,对数函数y = lgx(以10为底的对数函数)的表示方法为y = log10(x),函数的完整原型为:double log10(double x);
例如:
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- using namespace std;
- int main()
- {
- printf("%f\n",log10(10));
- return 0;
- }
输出:
否则在题目提交时会报错(PE)
那么又会有问题,我们要怎么样求常规对数,即logab(以a为底,b为真数)的值呢?
这个其实也很简单,一个换底公式就解决了
公式描述:
因此我们可以将其转换成两个以自然对数为底或者是以10为底的数的商
例如:我们要求解log(2)8的值,则有:
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- using namespace std;
- int main()
- {
- printf("%f\n",log(8)/log(2));
- return 0;
- }
输出:
如有错误之处,还请指正,O(∩_∩)O谢谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。