#include #include using namespace std; struct Isotope { int A{}; int Z{}; }; float empiricalMass(Isotope iso) { int N = iso.A - iso.Z; int delta = -1; if (iso.A % 2 != 0) { delta = 0; // mixed parity } else if (iso.Z % 2 == 0 && N % 2 == 0) { delta = 1; // even-even parity } float B = 15.75 * iso.A - 94.8 * pow((iso.A/2. - iso.Z), 2.) / iso.A - 17.8 * pow(iso.A, 2./3.) - 0.71 * pow(iso.Z, 2.) * pow(iso.A, -1./3.) + 34 * delta * pow(iso.A, -3./4.); return B/iso.A; } int main() { Isotope U235{ 235, 92 }; float mass = empiricalMass(U235); cout << "U235: "; cout << mass; cout << " MeV per nucleon\n"; return 0; }