用打表方式求出极限,注意系统四舍五入,输入数据很大,用string存,并且卡常数。
上代码。
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<vector>
#include<iosfwd>
#include<cmath>
#include<ctime>
#include<stack>
#include<queue>
#include<set>
#include<map>
using namespace std;
typedef long long ll;
#define eps 1e-6
#define PI 3.1415926535898
string s;
int main() {
while(cin>>s)
{
double ans=0;
if(s.length()<6)
{
int flag=atoi(s.c_str());
for(int i=1;i<=flag;i++)
{
ans+=(double)1/i/i;
}
}
else if(s.length()==6)
{
int flag=atoi(s.c_str());
if(flag<110300)
{
for(int i=1;i<=flag;i++)
{
ans+=(double)1/i/i;
}
}
else
ans=PI*PI/6.0;
}
else
ans=PI*PI/6.0;
printf("%.5lf\n",ans);
}
return 0;
}