zoukankan      html  css  js  c++  java
  • POJ1423 Big Number 暴力or斯特林公式??

    好吧这题很水。。。可是我没想到正解。。。


    题意:求n!有多少位。

    正解:斯特林公式。

    直接放代码。。。

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<cctype>
    #include<cstdlib>
    #include<vector>
    #include<map>
    #include<set>
    #define ll long long
    #define R register int
    static char B[1<<15],*S=B,*D=B;
    #define getchar() (S==D&&(D=(S=B)+fread(B,1,1<<15,stdin))?EOF:*S++)
    const int N=10000000;
    const long double PI=3.141592653589793238463,e=2.7182818284590452354;
    using namespace std;
    inline int g() {
        R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix;
        do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix;
    } double d;
    inline int calc(int n) {
        return log10(2*PI*n)/2.0+n*log10(n/e);
    }
    signed main() {
        R t=g(); while(t--) {
            R n=g(); printf("%d
    ",calc(n)+1);
        }    
    }

    然后是暴力:

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<cctype>
    #include<cstdlib>
    #include<vector>
    #include<map>
    #include<set>
    #define ll long long
    #define R register int
    static char B[1<<15],*S=B,*D=B;
    #define getchar() (S==D&&(D=(S=B)+fread(B,1,1<<15,stdin))?EOF:*S++)
    const int N=10000000;
    const long double PI=3.141592653589793238463,e=2.7182818284590452354;
    using namespace std;
    inline int g() {
        R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix;
        do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix;
    } double d; int c[N];
    signed main() {
        for(R i=1;i<=N;++i) d+=log10(i),c[i]=(int)d+1;
        R t=g(); while(t--) {
            R n=g(); printf("%d
    ",c[n]);
        }    
    }

    2019.06.02怕不是失了智qwq

  • 相关阅读:
    《数据挖掘导论》研读(1)
    《机器学习理论、方法及应用》研读(2)
    《机器学习理论、方法及应用》研读(1)
    Python3爬虫(3)_urllib.error
    Python3爬虫(2)_利用urllib.urlopen发送数据获得反馈信息
    debian 安装svn197
    Debian卸载软件197
    chmod 详解197
    debian 创建快捷方式197
    vim高亮配置197
  • 原文地址:https://www.cnblogs.com/Jackpei/p/10964789.html
Copyright © 2011-2022 走看看