#include #include #include void main() { randomize(); float pie = 3.1415; double p=0 ; int angle; double escaped; double returned; double absorbed; double thickness = 3; for(int test = 1; test<=5;test++) // run 5 tests { do // do while escaped neutrons > 5% { escaped = 0; returned = 0; absorbed = 0; for(int i=0; i<10000;i++) // run 10000 neutrons { p=0; for(int k =0; k<10;k++) // 10 bounces { angle=random(360); double radian = (angle*pie)/180; p+=cos(radian); // if neutron goes to the reactor, escaped, or absorbed if(p<0) { returned++; break; } else if(p>thickness) { escaped++; break; } else if(k==9) { absorbed++; break; } } } // adjust wall thickness if(escaped>2000) { thickness+=1; } else if(escaped>1200) { thickness+=.3; } else if(escaped> 600) { thickness+= .005; } else { thickness+= .001; } }while(escaped>=500); cout<<"Test #"<