n很大,用字符串
最后会趋于π^2/6
之前一直超时,真是尴尬。。嗯,先打表先打表。。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
double sum;
int k;
char a[1048580];
double str[250010];
int main()
{
sum=0.0;
for(int i=1; i<=250000; i++)
{
sum+=1.0/i/i;
str[i]=sum;
}
while(scanf("%s",a)!=EOF)
{
int b=strlen(a);
k=0;
for(int i=0; i<b; i++)
{
k=k*10+(a[i]-'0');
if(k>250000)
{
k=250000;
break;
}
}
printf("%.5lf\n",str[k]);
memset(a,0,sizeof(a));
}
return 0;
}