有一个数据最后一位数字对不上
This commit is contained in:
parent
700050498c
commit
9e1a6289e8
|
@ -1,20 +1,27 @@
|
||||||
|
//有一个数据最后一位数字对不上
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include<cstdio>
|
#include<cstdio>
|
||||||
#include<algorithm>
|
#include<algorithm>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
const long long M=1e17;
|
|
||||||
const int N=1e8;
|
const int N=1e8;
|
||||||
double a[N+5]={0};
|
const int w=50;
|
||||||
|
double a[N/w+5];
|
||||||
int t,n;
|
int t,n;
|
||||||
int t1;
|
int t1;
|
||||||
inline void cun()
|
inline void cun()
|
||||||
{
|
{
|
||||||
a[0]=0;a[1]=1;
|
int cur=1;
|
||||||
for(int i=2;i<=N;i++)
|
for(int i=1;i<=N;i++)
|
||||||
{
|
{
|
||||||
a[i]=a[i-1]+(1.0/i);
|
a[cur]+=(1.0/i);
|
||||||
|
if(i%w==0)
|
||||||
|
{
|
||||||
|
// printf("%llf,",a[cur]);
|
||||||
|
cur++;
|
||||||
|
a[cur]=a[cur-1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//void ce()
|
//void ce()
|
||||||
|
@ -27,13 +34,19 @@ inline void cun()
|
||||||
//}
|
//}
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
cun();
|
cun();
|
||||||
// ce();
|
// ce();
|
||||||
scanf("%d",&t);
|
scanf("%d",&t);
|
||||||
while(t--)
|
while(t--)
|
||||||
{
|
{
|
||||||
scanf("%d",&n);
|
scanf("%d",&n);
|
||||||
printf("Case %d: %.8llf\n",++t1,a[n]);
|
int now=n/w;
|
||||||
}
|
double ans=a[now];
|
||||||
|
for(int i=now*w+1;i<=n;i++)
|
||||||
|
{
|
||||||
|
ans+=(1.0/i);
|
||||||
|
}
|
||||||
|
printf("Case %d: %.10llf\n",++t1,ans);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue