今天看了一会《离散数学及其应用》的第一章后面的上机题的第一道题。
求n!的位数在100到100之间的最大的n。
要解决这个问题,首先就来研究一下阶乘的性质。
查一下wiki百科,就会发现关于阶乘有个斯特林公式:
(有兴趣戳这里),那么我们就可以很快的求出n的阶乘。但是我们不需要求出n的阶乘,只需要知道它有多少位。所以现在就要知道怎样求一个数有多少位了。答案就是log(n)+1。下面是简单证明:
设一个数为n,它有w位,则它可表示为n=c+10^(w-1),其中c<10。所以w=log(n)+1。