开始的时候一看这题感觉很难,觉得肯定有什么很快的办法
不能暴力做(受了上一题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
", kase, sqrt(ans / n));
}
return 0;
}