题目连接:https://cn.vjudge.net/problem/HDU-5879
这题注意输入文件 大小不超过1M
这个式子有一个极限 是
题目要求输出5位小数,则打表一看最多k=1000000的时候就可以到达了
所以题目输入的数的位数大于7的时候 就直接输出的前五位小数就行了
小于7位的时候打表输出
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAX = 1e6+10;
double a[MAX];
int main(){
double ans=0;
int cnt=0;
for (int i = 1; i <= 1000000;i++){
ans+=1.0/i/i;
a[++cnt]=ans;
}
string s;
while(cin >> s){
if(s.size()>=7){
puts("1.64493");
}
else{
int len=s.size();
int x=0;
for (int i = 0; i < len;i++){
x=x*10+(s[i]-'0');
}
printf("%.5f\n",a[x]);
}
}
return 0;
}