POJ 2006 Litmus Test 化學求酸鹼度

題目描述

給定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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章