  Polarization-adjusted convolutional (PAC) codes combine the polar and
convolutional transformations to enhance the distance properties of polar
codes. They offer a performance very close to the finite length
information-theoretic bounds for short block lengths. In this paper, we develop
a method of computing the weight distribution of PAC codes in an approximate
form by employing a probabilistic technique. We demonstrate that the results
well match the exact weight distributions for small codes that can be computed
using a brute-force algorithm. We also present a way employing the results
(along with the union bound on the code performance) to design specific PAC
codes, more precisely, to determine suitable rate profiles via simulated
annealing. Numerical examples illustrate that the PAC codes with the designed
rate profiles offer superior performance.
