奇怪的小鸭子也增加了Java实现

题干

Description

有一个 A×B 的大澡盆,还有若干个 a×b 的长方形小鸭子,澡盆里最少放几只鸭子后,便无法再向其中放入更多的鸭子?

鸭子很倔强,不能旋转成 b×a,也不能重叠放置。

Input

四个整数,分别表示 A,B,a,b

1<=a<=A<=30000

1<=b<=B<=30000

Ouput

最少能放几只鸭子。

思路

输出最少放多少小鸭子,也就是横着最少,竖着也最少,二者相乘就是答案。

如何最少:对于A边长来说,放一个a,空一个a-0.000…1就可以了,基本上就是放一个,留出来一块刚好放不下的空白,然后再放!

AC代码

import java.util.Scanner;

public class DuckComing {
    public static void main(String[] args){
        Scanner scanner =new Scanner(System.in);
        Double A=scanner.nextDouble();
        Double B=scanner.nextDouble();
        Double a=scanner.nextDouble();
        Double b=scanner.nextDouble();
        scanner.close();
        int x=minNum(A,a);
        int y=minNum(B,b);
        System.out.println(x*y);
    }
    static int minNum(Double X,Double x){
        int count=0;
        while(X>=x){
            count+=1;
            X-=x;//放一个小鸭子
            X=X-x+0.000000001;//空一个位置刚好放不下小鸭子,然后再循环
        }
        return count;
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值