cup.java

来自「第四届百度杯编程大赛final解题报告+标程」· Java 代码 · 共 33 行

JAVA
33
字号
import java.io.*;
import java.text.DecimalFormat;
import java.util.*;

public class cup {
	public static void main(String args[]) throws Exception {
		Scanner cin = new Scanner(System.in);
		int ca = cin.nextInt();
		for (int c = 0; c < ca; c++) {
			double r = cin.nextDouble();
			double R = cin.nextDouble();
			double h = cin.nextDouble();
			double v = cin.nextDouble();
			
			double hs = 0, ht = h, hmid;
			double Rmid;
			while (ht - hs > 1e-8) {
				hmid = (hs + ht) / 2;
				Rmid = r + hmid * (R - r) / h;
				double vv = hmid * (Rmid * Rmid + Rmid * r + r * r) * Math.PI / 3;
				
				if (vv > v)
					ht = hmid;
				else if (vv < v)
					hs = hmid;
				else
					break;
			}
			System.out.printf("%.6f\n", hs);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?