#!/usr/local/bin/tcc -run #include #include #include #define N 100 int main (void){ int i,seed,count=0; double p,q,r,ra=0,R,RA=0,s=0,S=0,t=0,T=0,x=0,y=0,X=0,Y=0; seed=1215028; srand48(seed); while(count<100){ for (i=1;i<=N;i++){ p=drand48(); q=2*M_PI*p; x=x+cos(q); y=y+sin(q); if(0<=p&&p<0.25){ X++; }else if(0.25<=p&&p<0.50){ X--; }else if(0.50<=p&&p<0.75){ Y++; }else{ Y--; } } r=sqrt(x*x+y*y); R=sqrt(X*X+Y*Y); ra=ra+r; RA=RA+R; s=x*x+y*y+s; S=X*X+Y*Y+S; x=y=X=Y=0; count++; } t=1/count*(s-1.0/(1.0*count)*(ra*ra)); T=1/count*(S-1.0/(1.0*count)*(RA*RA)); printf("%f %f %f %f %f %f\n",r,ra,s,R,RA,S); printf("%d %f %f %f %f\n",count,ra/100,t,RA/100,T); return 0; }