#importing modules
import math
from __future__ import division
#Variable declaration
rho=19.3*10**3; #density(kg/m**3)
N=6.02*10**23; #avagadro number
M=197; #molecular weight
a=2*10**12; #neutrons/m**2 sec
A=5*10**-4; #area(m**2)
sigma=94*10**-28; #reaction cross section(m**2)
t=0.3*10**-3; #thickness(m)
#Calculations
n=rho*N/M; #number of nuclei per unit volume(per m**3)
N0=a*A; #number of neutrons hitting the target
N0_N=N0*(1-math.exp(-n*sigma*t)); #number of nuclei produced per second
#Result
print "number of nuclei produced per second is",round(N0_N/10**5,2),"*10**5"
print "answer given in the book is wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
M1=2.01472; #molecular mass of H(amu)
M0=7.01784; #molecular mass of Li(amu)
M2=8.00776; #molecular mass of Be(amu)
M3=1.00893; #molecular mass of n(amu)
Ek1=10; #energy(MeV)
#Calculations
M1M0=M1+M0; #mass of interacting particles(amu)
M2M3=M2+M3; #mass of product particles(amu)
Q=(M1M0-M2M3)*931; #decrease in mass(MeV)
Ek3=(Q+(Ek1*(1-(M1/M2))))/(1+(M3/M2)); #energy of neutron(MeV)
Ek2=Q+Ek1-Ek3; #energy of Be(MeV)
phi=math.atan(math.sqrt(Ek3*M3/(Ek1*M1))); #angle of recoil of Be atom(rad)
phi=phi*180/math.pi; #angle of recoil of Be atom(degrees)
#Result
print "energy of neutron is",round(Ek3,3),"MeV"
print "energy of Be is",round(Ek2,3),"MeV"
print "angle of recoil of Be atom is",round(phi,3),"or",int(round(phi)),"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
Q=-3.9; #Q value of reaction(MeV)
M1=1.0087; #molecular mass of incident neutron(amu)
M2=18.99; #molecular mass of O nucleus(amu)
M3=1.0078; #molecular mass of proton(amu)
Ek1=10; #energy of incident neutron(MeV)
#Calculations
x=1-(M1/M2);
y=1+(M3/M2);
Ek3=(Q+Ek1*x)/y; #energy of emitted protons(MeV)
#Result
print "energy of emitted protons is",round(Ek3,1),"MeV"