題目鏈接
思路:
利用三角形的相似性解決。分類討論情況
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
import java.util.Vector;
public class Main {
static int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
double h = cin.nextDouble();
double I = cin.nextDouble();
double H = cin.nextDouble();
double L = cin.nextDouble();
if(I >= h * L / H) {
System.out.printf("%.8f",L * h * h / (H * 2.0));
}else System.out.printf("%.8f",I * h - I * I * H / (L * 2.0));
}
}