食塩水の濃度
2008/04/12
java
算数
食塩水の濃度の問題です。
目的の濃度になるための食塩の量、蒸発させる水の量、加える水の量を求めます。
濃度算というようですね。
シナリオ
目的の食塩水の濃度にするために、必要な食塩の量、蒸発させる水の量、加える水の量を求める関数を作成してください。引数の値は常に正しいものがわたされます。
全然、頭を使わず、愚直に式をプログラムにしています。
Javaです。
public class SaltWater {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(calculateSalt(0.1, 0.25, 500));
System.out.println(calcEvaporatedWater(0.1, 0.25, 500));
System.out.println(calcWater(0.1, 0.05, 500));
}
/**
* 必要な食塩を求めます。
* @param per 現在の濃度
* @param to_per 作り出す濃度
* @param saltWater 現在の食塩水の量
* @return
*/
public static double calculateSalt(double per, double to_per, double saltWater){
// 現在の塩の量
double s = saltWater * per;
double w = saltWater * (1 - per);
double x = ((w+s)*to_per-s)/(1 - to_per);
return x;
}
/**
* 蒸発させる水の量を求めます。
* @param per 現在の濃度
* @param to_per 作り出す濃度
* @param saltWater 現在の食塩水の量
* @return
*/
public static double calcEvaporatedWater(double per, double to_per, double saltWater){
// 現在の塩の量
double s = saltWater * per;
double w = saltWater * (1 - per);
double x = s + w -(s/to_per);
return x;
}
/**
* 加える水の量を求めます。
* @param per 現在の濃度
* @param to_per 作り出す濃度
* @param saltWater 現在の食塩水の量
* @return
*/
public static double calcWater(double per, double to_per, double saltWater){
// 現在の塩の量
double s = saltWater * per;
double x = s/to_per - saltWater;
return x;
}
}
: