#importing modules
import math
from __future__ import division
#Variable declaration
r=0.1249; #radius(nm)
n=2; #number of atoms
#Calculation
a=4*r/math.sqrt(3); #unit cell edge length(nm)
V=a**3; #volume of unit cell(nm**3)
v=4*n*math.pi*r**3/3; #volume of atoms in unit cell(nm**3)
fv=V-v; #free volume per unit cell(nm**3)
#Result
print "free volume per unit cell is",round(fv,6),"nm**3"
#importing modules
import math
from __future__ import division
#Variable declaration
N=6.02*10**26; #Avagadro Number
n=2;
rho=530; #density(kg/m**3)
M=6.94; #atomic weight(amu)
#Calculation
a=(n*M/(rho*N))**(1/3)*10**10; #lattice constant(angstrom)
#Result
print "lattice constant is",round(a,3),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
N=6.02*10**23; #Avagadro Number
n=2;
rho=7860; #density(kg/m**3)
M=55.85; #atomic weight(amu)
#Calculation
a=(n*M/(rho*N))**(1/3)*10**9; #lattice constant(angstrom)
#Result
print "lattice constant is",round(a,2),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
n=8; #number of atoms
a=0.356*10**-9; #lattice constant(m)
#Calculation
N=n/a**3; #number of atoms per m**3
#Result
print "number of atoms per m**3 is",round(N/10**27,1),"*10**27 atoms/m**3"
#importing modules
import math
from __future__ import division
#Variable declaration
a=3.5; #lattice constant(angstrom)
n=10**7; #1mm in angstrom
#Calculation
N=n**2/a**2; #number of atoms per sq mm
#Result
print "number of atoms per sq mm is",round(N/10**12,2),"*10**12"
#importing modules
import math
from __future__ import division
#Variable declaration
N=6.02*10**26; #Avagadro Number
n=8; #number of atoms
a=5.62*10**-10; #lattice constant(m)
M=72.59; #atomic weight(amu)
#Calculation
rho=n*M/(a**3*N); #density(kg/m**3)
#Result
print "density is",round(rho,1),"kg/m**3"