zoukankan      html  css  js  c++  java
  • Harmonic Number LightOJ

    题意:

    求调和级数,但n很大啦。。

    解析:

    分段打表  每间隔50存储一个数,在计算时  只需要找到离输入的n最近的那个数 以它为起点 开始计算即可

    emm。。。补充一下调和级数的运算公式

      r为常数,r=0.57721566490153286060651209(r就是欧拉常数)。

    看一下这位的博客:https://www.cnblogs.com/weiyuan/p/5737273.html

    #include <iostream>
    #include <cstdio>
    #include <sstream>
    #include <cstring>
    #include <map>
    #include <set>
    #include <vector>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #define MOD 2018
    #define LL long long
    #define ULL unsigned long long
    #define maxn 100000000
    #define Pair pair<int, int>
    #define mem(a, b) memset(a, b, sizeof(a))
    #define _  ios_base::sync_with_stdio(0),cin.tie(0)
    //freopen("1.txt", "r", stdin);
    using namespace std;
    const int LL_INF = 0x7fffffffffffffff,INF = 0x3f3f3f3f;
    double ch[maxn/50+10];
    int main()
    {
        int T, cnt = 1;
        double sum = 0;
        ch[0] = 0;
        for(int i=1; i<=maxn; i++)
        {
            sum += 1/(double)i;
            if(i % 50 == 0)
                ch[cnt++] = sum;
        }
        int kase = 0;
        cin>> T;
        while(T--)
        {
            int n;
            cin>> n;
            double m = ch[n/50];
            for(int i=n/50*50+1; i<=n; i++)
                m += 1/(double)i;
            printf("Case %d: %.10f
    ",++kase,m);    
    
        }
        
    
        return 0;
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    嵌入式linux问题杂锦
    QT creator 调试问题
    torcs代码
    ubuntu12.04安装KDevelop
    ubuntu12.04LTS安装以及卸载 QT4.8.6和QT creator2.5.2
    用vs2010编译vs2013建的工程
    mysql+matlab配置
    流形学习笔记
    可用的rtmp互联网地址
    信用卡术语
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9189761.html
Copyright © 2011-2022 走看看