12 static int comp(struct rec *r1, struct rec *r2)
17 void shuffle(struct rec *d, int n)
24 qsort(d, n, sizeof(*d), comp);
27 int count(struct rec *d, int n, int x)
32 if (d[i].d == x) ret++;
37 static double avg(struct rec *d, int n, int loops)
42 for (i=0;i<loops;i++) {
44 sum += abs(n/2 - count(d, n, 1));
49 static double Pn(int n)
51 return 0.20 * sqrt(1.*n);
54 static int log2(int n)
57 for (i=1;(1<<i)<n;i++) ;
61 int main(int argc, char *argv[])
65 int N = atoi(argv[1]);
66 int P = atoi(argv[2]);
70 r = log2(P/4)*2*(P-3)*k*sqrt(N/P);
72 printf("P=%d N=%d Pn=%g\n", P, N/P, r);