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

  • 相关阅读:
    LeetCode :: Validate Binary Search Tree[具体分析]
    一世12年龄在泥土还在打,硅谷00创业毕竟开始播放!
    大学毕业生上班第一天6月3号码
    发送到快捷方式不见了
    【转】三种方式在C++中调用matlab
    【转】C++调用Matlab的.m文件
    C++函数模板与模板函数
    Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的
    java回顾4 Java基本数据类型
    zoj 2402
  • 原文地址:https://www.cnblogs.com/Jackpei/p/10964789.html
Copyright © 2011-2022 走看看