lightoj1234 分段打表

原创 2015年11月19日 18:17:03


1234 - Harmonic Number
PDF (English) Statistics Forum
Time Limit: 3 second(s) Memory Limit: 32 MB

In mathematics, the nth harmonic number isthe sum of the reciprocals of the first n natural numbers:

In this problem, you are given n, you have to find Hn.

Input

Input starts with an integer T (≤ 10000),denoting the number of test cases.

Each case starts with a line containing an integer n (1≤ n ≤ 108).

Output

For each case, print the case number and the nthharmonic number. Errors less than 10-8 will be ignored.

Sample Input

Output for Sample Input

12

1

2

3

4

5

6

7

8

9

90000000

99999999

100000000

Case 1: 1

Case 2: 1.5

Case 3: 1.8333333333

Case 4: 2.0833333333

Case 5: 2.2833333333

Case 6: 2.450

Case 7: 2.5928571429

Case 8: 2.7178571429

Case 9: 2.8289682540

Case 10: 18.8925358988

Case 11: 18.9978964039

Case 12: 18.9978964139



题意:不说了。

分析:一亿的数据量,可以每50个或者100个记录下来。


#include<bitset>
#include<map>
#include<vector>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<stack>
#include<queue>
#include<set>
#define inf 0x3f3f3f3f
#define mem(a,x) memset(a,x,sizeof(a))

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

inline int in()
{
    int res=0;char c;
    while((c=getchar())<'0' || c>'9');
    while(c>='0' && c<='9')res=res*10+c-'0',c=getchar();
    return res;
}
const int N=1e8;
double a[N/50+50];
void init()
{
    double t=1.0;
    for(int i=2;i<=N;i++)
    {
        t += 1.0/i;
        if(i%50 == 0)
        {
            a[i/50]=t;
        }
    }
}
int main()
{
    int T=in(),ii=1;
    init();
    while(T--)
    {
        int n=in();
        double ans = a[n/50];
        for(int i=n/50*50+1;i<=n;i++)
        {
            ans += 1.0/i;
        }
        printf("Case %d: %.10lf\n",ii++,ans);
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

[Hive]Hive分区表新增字段

[Hive]Hive分区表新增字段
  • yeweiouyang
  • yeweiouyang
  • 2015年04月03日 09:58
  • 18211

hive分区表增加字段会导致新增字段无法显示值的BUG

对hive分区表新增字段后,在执行插入分区的动作,会发现其实数据文件中已经有新字段值了,但是在查询的时候新字段的值还是显示为null。 比如我们做一个简单的问题重现 我们先创建一个分区表xj_te...
  • xiao_jun_0820
  • xiao_jun_0820
  • 2015年05月07日 14:45
  • 8360

卡特兰数+分段打表 hdu6084寻找母串

寻找母串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...
  • update7
  • update7
  • 2017年08月09日 10:31
  • 9710

LightOJ - 1234 (介绍一下欧拉常数,虽然没什么关系。。。)

In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural number...
  • baidu_35522092
  • baidu_35522092
  • 2017年07月09日 19:47
  • 137

IP分段划分表

  • 2017年01月20日 16:57
  • 16KB
  • 下载

LightOJ 1074 Extended Traffic spfa+邻接表

题意:有n个点,m条有向边,每条边的权值等于(弧头的权值-弧尾的权值)的三次方,求第一个点到给定点的最短路径; 用dijkstra做了一遍,WA,再读一遍题发现边的权值可以为负,可能会产生负...
  • zchahaha
  • zchahaha
  • 2016年01月19日 18:35
  • 382

LightOJ Sigma Function 1336【打表+规律】

1336 - Sigma Function PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Li...
  • ydd97
  • ydd97
  • 2015年08月21日 17:48
  • 1049

LeetCode Partition List 按值分段链表 系统分析

在原链表操作就是分为三段: 第一段:小值; 第二段:大于等于的值; 第三段:是还没有处理完的值。 但是有3个情况:1 可能开始的时候全部小值, 2 可能开始的时候全部是大值 3 分了三段的情...
  • kenden23
  • kenden23
  • 2013年11月16日 19:32
  • 2026

iOS学习之分段Table View的使用(Grouped样式表格)城市列表

简介:上篇做了Table View的一些介绍 ,还做了一个TableView 的Plain样式的例子,这篇我们学习Grouped样式表的例子,还有用到前面读取Plist的知识(见iOS学习之 pli...
  • bgg8634155
  • bgg8634155
  • 2015年01月28日 14:13
  • 254

内存寻址(三)--分段管理机制(段描述符,段选择子,描述符表)

逻辑地址-=>线性地址-=>物理地址 前面我们提到了当使用80x86微处理器时,有三种不同的地址: 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条指...
  • bfboys
  • bfboys
  • 2016年09月04日 11:25
  • 695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lightoj1234 分段打表
举报原因:
原因补充:

(最多只允许输入30个字)