莲花楼楼主


私信TA

用户名:dotcpp0719623

访问量:888

签 名:

总有人间一两风,填我十万八千梦

等  级
排  名 2223
经  验 2396
参赛次数 0
文章发表 31
年  龄 88
在职情况 学生
学  校 南京信息工程大学
专  业 海洋科学

  自我简介:

有人在通往牛逼的路上一路狂奔

解题思路:

注意事项:

参考代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double pai=3.1415926535898;//如果提交的答案为50分,可以提高一下pai的精度再试试
        while (true) {
            double w = scanner.nextDouble();
            double h = scanner.nextDouble();
            if (w == 0 && h == 0) {
                break;
            }
            scanner.nextLine();
            
            double r1 = Math.min(h / (2.0 + 2 * pai), w / 2); // 高为卷边,r要满足两个条件:2*r+2*pai*r<=h,并且2*r<=w
            double v1 = pai * r1 * r1 * w;
            
            double r2 = w / (2 * pai); // 宽为卷边,r要满足一个条件:2*pai*r<=w,否则就超出纸边长了
            double v2 = pai * r2 * r2 * (h - 2 * r2);
            
            System.out.printf("%.3f\n", Math.max(v1, v2));
        }
    }
}


 

0.0分

0 人评分

  评论区

  • «
  • »