zoukankan      html  css  js  c++  java
  • 解方程求PH值,POJ(2006)

    题目链接:http://poj.org/problem?id=2006

    解题报告:

    题意看了半天,没看懂,再加上化学没学好,更加让我头痛。

    假设1L溶解了x摩尔的酸:ka=m*x*nx/ori-x;

    得:mnx*x+kax-ka*ori=0;

    解方程x=(sqrt(k*k*a*a+4mnka*ori)-ka)/2mn;

    溶度为x*m;

    PH=log10(x*m);

    这里log是e为底的,应该用log((double)10)

    #include<stdio.h>
    #include<math.h>
    #include<iostream>
    
    using namespace std;
    
    int main()
    {
        double Ka;   //平衡常数
        double ori;  //原始酸浓度
        int m;       //1摩酸分子 完全溶解 分解出氢离子数
        int n;         //1摩酸分子 完全溶解 分解出酸根离子数
        double H;    //最后计算Ph值的氢离子数
    
        while(1)
        {
            cin>>Ka;
            cin>>ori;
            cin>>m;
            cin>>n;
    
            if(Ka==0&&ori==0&&m==0&&n==0)
                break;
    
            H=(sqrt(Ka*Ka+4*m*n*Ka*ori)-Ka)/(2*n);
            printf("%.3f
    ",-log10(H));
        }
    
        return 0;
    }
  • 相关阅读:
    PHP的语言规范
    Js 中的this
    Js 事件
    Js DOM 操作
    Js DOM对象
    Js 对象三
    Js 定时器
    Js 对象二
    Js 对象
    POJ 2987 Firing(最大流最小割の最大权闭合图)
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5388868.html
Copyright © 2011-2022 走看看