Image

Listens: Natalie Imbruglia — [Glorious: The Singles 97-07 #11] Be With You

Category:

KCC3 :: Эдиториал, задача 2

Равновесие в растворе
Условия: http://esci.ru/kcc3/kcc3_t.php


Обозначим [H+] за x. По условию материального баланса [HAn] = ca−x, [An] = cs+x (поскольку соль по условию полностью диссоциирует). Выпишем уравнение для константы равновесия и получим квадратное уравнение:

K_p = \frac{[{\rm H^+}][{\rm An^-}]}{[{\rm HAn}]} = \frac{x \left( c_s + x \right) }{c_a - x} \\x^2 + c_s x + K_p x - c_a K_p = 0

Решить его несложно (физический смысл имеют только положительные корни).

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double k, ca, cs, x;
    cin >> k >> ca >> cs;
    double b = cs + k, c = -ca * k;
    x = (-b + sqrt(b * b - 4 * c)) / 2;
    cout << -log10(x) << endl;
}