http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1130

对于这类问题:斯特林近似公式:

 
 
百度百科的证明:http://baike.baidu.com/link?url=SIkpaHdNUtWRJay6tu8G_-1nmw6_XYXXHwSJATOc3cHGRv1lK1SpM-Xdt6HCHFvJKyEe-Zf8blVm8KA9QyfIEK
 
 
然后就是这个代码的化简:

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

#define N 211111
#define pi acos(-1.0)

int main()
{
    int T;
    scanf("%d",&T);
    while (T--)
    {
        int n;
        scanf("%d",&n);
        if (n==1)
        {
            printf("1\n");
            continue;
        }
        double ans=log10(sqrt(pi*2*n));
        ans+=1.0*n*log10(1.0*exp(-1.0)*n);

ll an=ans+0.999999;
        printf("%lld\n",an);
    }

return 0;
}

51nod 计算N!的位数的更多相关文章

  1. JAVA计算整数的位数

    /** * 计算整数的位数 * @param x * @return */ public static int countIntegerLength(int x){ final int [] size ...

  2. nyoj 69-数的长度 (log10(),计算数的位数)

    69-数的长度 内存限制:64MB 时间限制:3000ms 特判: No 通过数:10 提交数:13 难度:1 题目描述: N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)····· ...

  3. shell脚本通过子网掩码计算出掩码位数

    子网掩码格式为255.255.255.0可以通过以下脚本计算掩码位数 #!/bin/sh #maskdigits.sh mask maskdigits () { a=$(echo "$1&q ...

  4. 计算n!的位数<Math>

    题意:如题目. 方法一:<TLE> * 可设想n!的结果是不大于10的M次幂的数,即n!<=10^M(10的M次方),则不小于M的最小整数就是 n!的位数,对 * 该式两边取对数,有 ...

  5. 计算pi的位数

    from random import random from math import sqrt from time import clock DARTS=1000000 hits=0.0 clock( ...

  6. C 计算数字的位数循环

    #include <stdio.h> int main(int argc, char **argv) { // int x; int n=0; scanf("%d",& ...

  7. MT2018笔试题之计算数字位数

    一.计算数字位数 1.题目 给定一个数字T,计算从1到T的所有正整数的位数和.比如T=13,则12345678910111213有17位数字. 输入描述 3 13 4 5 输出 17 4 5 2.思路 ...

  8. Java使用BigDecimal精确计算的简单公式计算器

    由于工作需要,写了一个使用BigDecimal运算的精确计算的计算器(然后发现其实比不用BigDecimal的并好不到哪里去) 只能做加减乘除 double类型的数字在千万级别的时候会转成科学计数法, ...

  9. Matlab 计算大数的阶乘

    http://hi.baidu.com/dreamflyman/item/11e920165596280fd0d66d9f >> syms k;>> kfac=sym('k!' ...

随机推荐

  1. 转:鏖战双十一-阿里直播平台面临的技术挑战(webSocket, 敏感词过滤等很不错)

    转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的 ...

  2. 数据加工处理拼sql

    @Override public void offonShareBill(Boolean fg, Map<String,String[]> map) throws BusinessExce ...

  3. 破解软件感悟-PE文件格式之实例总结(五)

    有很多介绍PE文件的文章,但是我打算写一篇关于输入表的文章,因为它对于破解很有用.     我想解释它的最好的方法是举一个例子,你可以跟着我逐步深入,一步一步的思考,最后你将完全明白,我选择了一个我刚 ...

  4. Ionic Android开发环境搭建 上

    首先,需要下载并安装Node.js. 什么是Node.js?百科上说:Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Nod ...

  5. Win7 服务优化个人单机版

    我的PC设备比较旧了,为了系统能流畅点,不必要的服务就不开启了.然而,服务那么多,每次重装,都要从头了解一下一边,浪费时间. 个人在网络上收集信息并结合自己的摸索,整理如下,以备查找. 服务名称  显 ...

  6. opensuse pptp拨号设置注意事项

    防火墙一定要关闭 路由器要映射本地1723和1701端口 tcp协议(个别路由器和网络环境,可以先不设置) pptp配置注意协议的选择:

  7. 项目中Service层的写法

    截取自项目中的一个service实现类,记录一下: base类 package com.bupt.auth.service.base; import javax.annotation.Resource ...

  8. upTodown

         ------->>>  从左图变为有图,并实现将左图上面的信息隐藏. <img src="../images/up.gif" border=&qu ...

  9. template_20_实现智能指针

    一:计数器二:析构和释放三:SmartPoint

  10. Linux 软中断

    本文转载自: http://blog.chinaunix.net/uid-9620812-id-3833377.html,如有需要,请移步访问. Technorati 标签: Linux 软中断 -- ...