题干
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;
}
}