zoukankan      html  css  js  c++  java
  • 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方面也应该有长足的进步了,成绩方面也要拿的出手了,加油吧!
  • 相关阅读:
    python 函数2
    python 函数
    python 中string格式化
    python中的集合
    值&&引用传递&&序列化
    线程&&进程
    c#委托
    .net框架介绍
    类的定义
    ef中关于数据库中int为null问题
  • 原文地址:https://www.cnblogs.com/tangjj-nenu/p/3284049.html
Copyright © 2011-2022 走看看