題目描述
給定ka, c, m, n;
ka: 電離常數
c:原酸的濃度
m:H離子濃度
n:酸根離子濃度
溶液求PH值
樣例
Sample Input
1.6e-04 1.0e-01 1 1
1.6e-04 1.0e-01 4 1
1.5e-05 5.0e-02 1 2
0 0 0 0
Sample Output
2.407
2.101
3.216
公式推導
代碼
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cstdio>
using namespace std;
double c, k;
int m, n;
int main()
{
while(~scanf("%lf%lf%d%d", &k, &c, &m, &n))
{
if(k == 0 && c == 0 && m == 0 && n == 0)
break;
printf("%.3f\n", -log10((sqrt(k * k + 4 * m * n * c * k) - k) / (2 * n)));
}
return 0;
}