1.对数的性质
(1) alogab=b
(2) logaa=1
(3) loga(M*N)=logaM+logaN
(4) loga(M÷N)=logaM-logaN
(5) loga(Mn)=nlogaM
(6) logaM1/n=logaM/n
(7) logab*logba=1
2. 相关题目
(1) 求 N ! (1 <= N <= 5000)中有多少位数字。
若直接求 N ! 的结果,然后再计算有多少位数字,也是可行的,因为是大数阶乘,所以要用数组来计算,会用到大量的乘法除法取余运算,时间空间花费都比较大。
用对数的性质来解这个题是最佳的选择。
首先我们知道 看一个数字有多少位就是看它是10的几次幂,如101有2位,102 有3位。。。
也就是 10x(k=<x<k+1,k为整数,x为浮点数),则 10x的结果就有k+1位数字。
那也就是我们要求log10( N ! )
log10