开始的时候一看这题感觉很难,觉得肯定有什么很快的办法
不能暴力做(受了上一题10-13的影响)
然后一看那个函数感觉无从下手。
然后看了博客发现,原来这道题就是直接暴力……
因为n的范围为10的7次方啊 ,不会超时
自己以后要注意数据范围
#include#include #include #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;}