zoukankan      html  css  js  c++  java
  • lightoj1234调和级数+欧拉常数

    数据比较小时直接算,数据比较大时用公式1+1/2+...+1/n=inn+C+1/(2*n)   ,C是欧拉常数0.5772156649

    刚开始用的这个1+1/2+...+1/n=in(n+1)+C,结果一直wa。。。。

    #include<map>
    #include<set>
    #include<cmath>
    #include<queue>
    #include<stack>
    #include<vector>
    #include<cstdio>
    #include<cassert>
    #include<iomanip>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define C 0.5772156649
    #define pi acos(-1.0)
    #define ll long long
    #define mod 1000000007
    #define ls l,m,rt<<1
    #define rs m+1,r,rt<<1|1
    #pragma comment(linker, "/STACK:1024000000,1024000000")
    
    using namespace std;
    
    const double g=10.0,eps=1e-12;
    const int N=100000+10,maxn=500+100,inf=0x3f3f3f;
    
    int main()
    {
       // cout<<log(2)<<endl;
        ios::sync_with_stdio(false);
        cin.tie(0);
        cout<<setiosflags(ios::fixed)<<setprecision(18);
        ll t,cnt=0;
        cin>>t;
        while(t--){
            ll n;
            cin>>n;
            if(n>1e6)cout<<"Case "<<++cnt<<": "<<log(n)+C+1.0/(2*n)<<endl;
            else
            {
                double ans=0;
                for(ll i=1;i<=n;i++)
                    ans+=(1.0/(double)i);
                cout<<"Case "<<++cnt<<": "<<ans<<endl;
            }
        }
        return 0;
    }
    /*********************
    12
    1
    2
    3
    4
    5
    6
    7
    8
    9
    90000000
    99999999
    100000000
    *********************/
    View Code
  • 相关阅读:
    java中检测网络是否相通
    springBoot学习资料
    mybatis-Plus 增强版用法收藏
    idea生成springBoot 报错403
    java中所有开源注解收集
    JsonCpp操作数组对象
    第三方库 jsoncpp 读写json
    c++ 判断是64还是32位系统
    c++ 读写结构体到文件
    c/c++ 按照行读取文件
  • 原文地址:https://www.cnblogs.com/acjiumeng/p/7225941.html
Copyright © 2011-2022 走看看