解释一下数学的log(对数)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释一下数学的log(对数)相关的知识,希望对你有一定的参考价值。
对数可以理解成指数的逆运算,例如X^Y=a,则有log(x)(a)=y(x为底a的对数)就可以理解为x的多少次方等于a呢?求得答案就是y次方这样。
以上是我本人的理解。其实对这些数学概念先不要怕他才能理解好,如果还是不理解建议多做题是最好的办法。
这里有一些比较专业的说法你也可以参考:
如果a^b=n,那么log(a)(n)=b。其中,a叫做“底数”,n叫做“真数”,b叫做“以a为底的n的对数”。
log(a)(n)函数叫做对数函数。对数函数中n的定义域是n>0,零和负数没有对数;a的定义域是a>0且a≠1。
对数性质:
1、a^(log(a)(b))=b
2、log(a)(a^b)=b
3、log(a)(MN)=log(a)(M)+log(a)(N);
4、log(a)(M÷N)=log(a)(M)-log(a)(N);
5、log(a)(M^n)=nlog(a)(M)
6、log(a^n)M=1/nlog(a)(M) 参考技术A 2的5次方=32
所以32关于2的对数=5
记作
log2
32=5(2写在下面
32写上面)
HDU 1060 Leftmost Digit (数学log)
题意:给定一个数n,让你求出n的n次方的第一位数。
析:一看这个n快到int极限了,很明显不能直接做,要转化一下。由于这是指数,我们可以把指数拿下来。
也就是取对数,设ans = n ^ n,两边取以10为底对数 lg(ans) = n * lg(10),然后这个整数部分都是10的多次方,
没什么用,也就是说我们要的小数部分,然后再取指数,就OK了。还要注意要用long long因为可能超int了,第一次忘了,WA了。
代码如下:
#include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <queue> #include <cstring> #include <cmath> using namespace std; typedef long long LL; int main(){ int n, T; cin >> T; while(T--){ cin >> n; double ans = n * log10(n); ans -= (LL)ans;//小数部分 cout << (LL)pow(10, ans) << endl; } return 0; }
以上是关于解释一下数学的log(对数)的主要内容,如果未能解决你的问题,请参考以下文章