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](https://imgprx.livejournal.net/7abe2825fceaf73f91ee275950a75065137e1545d3595fd748aa3c26901a841c/P2WlxyVijxKgg2Fm985VUkMdsf-ah7h00wCVSKBXn8LW4Auals6oR0YnFEJvUF15ph1ZnSnbe15uIkJJz0hmuhRfziLsPvuA7h8HhlQ0CFe7MabMldNDzD8AllcnRC5L0g3r0iYQCI0lKnIZHlXOnEIilR0RcK9k2gxE0RWGQdqusbrG4Hk01O4gD_cgP1uv92iziUxyGBpc_DJKnSU-odU2FPr9jHF4NesStI-ZpPG4Q0rOVAj3E7UIgVAbS2vca2rIsz5fVS0KGtd1ummzYBSwhjXdlm2oUiKi0VFFHdHxopSWU5AzGpIU8D61Iw4XM5xbSd9rl7fkdDPHl5du-Iykf5FOV1Eh72Rmw9y3k0Rg-O4c6rwACwiqLaFNfXMNpxdwP5mWzOTgs6QmkIb8mFyjddd33cbKUx8Z71MKt5O3NEJn0gIiuVgyJNLKea_x97aYG7EIzQ:ehnV_0BwNiwYD_GLwcjMbg)
Решить его несложно (физический смысл имеют только положительные корни).
Условия: http://esci.ru/kcc3/kcc3_t.php
Обозначим [H+] за x. По условию материального баланса [HAn] = ca−x, [An−] = cs+x (поскольку соль по условию полностью диссоциирует). Выпишем уравнение для константы равновесия и получим квадратное уравнение:
Решить его несложно (физический смысл имеют только положительные корни).
#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;
}
#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;
}