function plainmc(f, a[], b[], N) returns {I,err} : d=length(a); sum=0; sum2=0 for k=1..N : for i=1..d : x[i] = a[i] + random()*(b[i]-a[i]) sum += f(x[]); sum2 += f(x[])^2 average = sum/N; variance = sqrt( sum2/N - average^2 ) vol = product( b[i]-a[i], i=1..d) I = vol*average; err = vol*variance/sqrt(N)