我来说明一下.对一个数的阶乘的位数.可以用log10()来求和是这样的.
我们都知道有这样的公式log10(X*Y)=log10(X)+log10(Y).
那很显然log10(1*2*3*4...*n)=log10(1)+...log10(n)了.
再证一个数的位数=(long)log10(n)+1.
我们都知道log10()是对10取对数,即假设有一个整数n,则log10(10^x)-(long)log10(n)=1成立,(这里x表示为n的位数.)
故x=(long)log10(n)+1;(这里只限于对log10()运算取整成立.)