hdu5879

来源:互联网 发布:mac使用silverlight 编辑:程序博客网 时间:2024/06/05 20:02

这个题吧,怎么说呢?一开始没读懂,这是个签到,他那个输入是1M我以为总共文件是1M没想到是我太年轻,其实应该用字符串读入,然后就是极大的时候比如1e6以上就是和1e6一样了,然后就可以了

#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int N = 1e6 + 5;char a[N];double sum[N];void yu(){    for(int i = 1 ; i < N ; i++){        sum[i] = sum[i - 1] + (double)1/i/i;    }}int main(){    yu();    while(~scanf("%s",a)){        int l = strlen(a);        if(l >= 7) printf("%.5lf\n",sum[1000000]);        else{            int n = 0;            for(int i = 0 ; i < l ; i++){                n = n * 10 + a[i] - '0';            }            printf("%.5lf\n",sum[n]);        }    }    return 0;}
0 0