题意:。。。
思路:1.百度标准差式子,将式子展开
2.直接暴力算
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define mod 1000000007;
using namespace std;
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
const int maxn = 1000 + 2;
ull 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;
}
int main()
{
int T; scanf("%d",&T);
for(int kase = 1;kase <= T;kase++)
{
int n; scanf("%d%llu",&n,&seed);
double u = 0,x = 0,p;
for(int i = 1;i <= n;i++)
{
double temp = gen();
u += temp;
x += temp * temp;
}
p = u;
u /= n;
printf("Case #%d: %.5lf\n",kase,sqrt((x - 2 * u * p + n * u * u) / n));
}
return 0;
}