More AC !!!

要么不做,要么做到最好!

导航

hdoj 1018

这就是一个纯粹的数学问题,求n的阶乘的位数,有个求正整数的位数的公式

(int)log10(a) + 1;
这是为什么呢,证明如下:

对于任意一个给定的正整数a,假设10^(x-1)<=a<10^x,那么显然a的位数为x位,又因为log10(10^(x-1))<=log10(a)<(log10(10^x)),即x-1<=log10(a)<x,则(int)log10(a)=x-1,即(int)log10(a)+1=x,即a的位数是(int)log10(a)+1。

这样就可以得到,n的阶乘的位数等于
(int)(log10(1)+log10(2)+log10(3)+......+log10(n)) + 1,这就不用贴代码了吧。。。。

再说些题外的话吧,已经开学一天了,我也成学长了,,,,囧,这学期呢,自己就看着吧,已经这么水了,首先要过四级,然后在acm方面也应该有长足的进步了,成绩方面也要拿的出手了,加油吧!

posted on 2013-08-27 00:42  Junkie_AC  阅读(123)  评论(0编辑  收藏  举报