开始的时候一看这题感觉很难,觉得肯定有什么很快的办法
不能暴力做(受了上一题10-13的影响)
然后一看那个函数感觉无从下手。
然后看了博客发现,原来这道题就是直接暴力……
因为n的范围为10的7次方啊 ,不会超时
自己以后要注意数据范围
#include<cstdio>
#include<cmath>
#include<iostream>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;unsigned long long seed;
long double gen()
{static const long double Z = ( long double )1.0 / (1LL<<32);seed >>= 16;seed &= ( 1ULL << 32 ) - 1;seed *= seed;return seed * Z;
}const int MAXN = 11234567;
long double num[MAXN];int main()
{int n, T;scanf("%d", &T);REP(kase, 1, T + 1){scanf("%d%llu", &n, &seed);long double sum = 0, ans = 0;REP(i, 0, n){num[i] = gen();sum += num[i];}sum /= n;REP(i, 0, n) ans += pow(sum - num[i], 2);printf("Case #%d: %.5Lf\n", kase, sqrt(ans / n)); }return 0;
}