2 条题解

  • -1

    /*

    /
    #define method_1
    #ifdef method_1
    /

    50分算法
    直接计算
    /
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<set>
    #include<map>
    #include<queue>
    #include<stack>
    #include<vector>
    #include<cstring>
    #include<cstdlib>
    using namespace std;
    typedef long long ll;
    const int maxn=+5;
    const ll INF=0x3f3f3f3f3f3f3f3fll;
    int n,ans;
    int main() {
    ios::sync_with_stdio(false);
    // freopen("偷拍硕哥6.in","r",stdin);
    cin>>n;
    ans=n;
    for(int i=1;i<=n-1;i++){
    ans
    =n;
    }
    // cout<<ans<<endl;
    int len=0;
    while(ans){
    len++;
    ans/=10;
    }
    cout<<len;
    return 0;
    }
    #endif
    #ifdef method_2
    /*
    80分算法
    高精度
    */
    #include<stdio.h>

    const int maxn=+5;
    int b[10000];
    int i,j,n;
    int fac_bit_count(){
    b[0]=1;
    for(i=1;i<=n;i++){
    int sum=0;
    for(j=0;j<9995;j++){
    int c=b[j]*n+sum;
    b[j]=c%10;
    sum=c/10;
    }
    }
    for(i=9995;i>=0;i--){
    if(b[i]) break;
    }
    return i+1;
    }
    int main() {
    // freopen("偷拍硕哥6.in","r",stdin);
    scanf("%d",&n);

    // printf("%d\n",n);
    printf("%d",fac_bit_count());
    return 0;
    }
    #endif
    #ifdef method_3
    /*
    对某个数取以10为底的对数 将得到其位数
    log10(n!)=log10(n)+...+log10(1);
    */
    #include<stdio.h>
    #include<math.h>
    const int maxn=+5;
    int n;
    int main() {
    // freopen("偷拍硕哥6.in","r",stdin);
    scanf("%d",&n);
    int ans=n*log10(n);
    printf("%d",ans+1);
    return 0;
    }
    #endif

  • -3
    @ 2018-12-11 12:01:35
    /*
    
    */
    #define method_1
    #ifdef method_1
    /*
    50分算法
    直接计算 
    */
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<set>
    #include<map>
    #include<queue>
    #include<stack>
    #include<vector>
    #include<cstring>
    #include<cstdlib>
    using namespace std;
    typedef long long ll;
    const int maxn=+5;
    const ll INF=0x3f3f3f3f3f3f3f3fll;
    int n,ans;
    int main() {
        ios::sync_with_stdio(false);
    //  freopen("偷拍硕哥6.in","r",stdin);
        cin>>n;
        ans=n;
        for(int i=1;i<=n-1;i++){
            ans*=n;
        }
    //  cout<<ans<<endl;
        int len=0;
        while(ans){
            len++;
            ans/=10;
        }
        cout<<len;
        return 0;
    }
    #endif
    #ifdef method_2
    /*
    80分算法
    高精度 
    */
    #include<stdio.h>
    
    const int maxn=+5;
    int b[10000];
    int i,j,n;
    int fac_bit_count(){
        b[0]=1;
        for(i=1;i<=n;i++){
            int sum=0;
            for(j=0;j<9995;j++){
                int c=b[j]*n+sum;
                b[j]=c%10;
                sum=c/10;
            }
        }
        for(i=9995;i>=0;i--){
            if(b[i]) break;
        }
        return i+1;
    }
    int main() {
    //  freopen("偷拍硕哥6.in","r",stdin);
        scanf("%d",&n);
    
    //  printf("%d\n",n);
        printf("%d",fac_bit_count());
        return 0;
    }
    #endif
    #ifdef method_3
    /*
    对某个数取以10为底的对数 将得到其位数 
    log10(n!)=log10(n)+...+log10(1);
    */
    #include<stdio.h>
    #include<math.h>
    const int maxn=+5;
    int n;
    int main() {
    //  freopen("偷拍硕哥6.in","r",stdin);
        scanf("%d",&n);
        int ans=n*log10(n);
        printf("%d",ans+1);
        return 0;
    }
    #endif
    
    
  • 1

信息

难度
8
分类
(无)
标签
(无)
递交数
244
已通过
30
通过率
12%
被复制
5
上传者