题目链接:HDU 5879
分析:
题意:给 n
,求 ∑k=1nk21
。
题解:n
很大的时候答案趋近于6π2
,n
小的时候预处理即可。
注:接收n的时候用大数。
代码如下:
#include<stdio.h>
#include<string.h>
char a[10000000];
double b[1000001];
int main()
{
double sum=0;
long long n;
b[0]=0;
for(int i=1;i<1000000;i++)
{
b[i]=1/((double)i*(double)i)+b[i-1];
}
while(gets(a))
{
if(strlen(a)>=7)
{
printf("1.64493\n");
}
else
{
n=a[0]-'0';
int i=1;
while(a[i]!='\0')
{
n=n*10+(a[i]-'0');
i++;
}
// printf("n=%d\n",n);
printf("%.5lf\n",b[n]);
}
//1.64493
}
return 0;
}