矩形切割
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。
当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形材料,然后再切割剩下的矩形材料,直到全部切为正方形为止。
例如,对于一块两边分别为 5和3的材料(记为 5× 3),小明会依次切出 3×3、2×2、1x1、1x1共4个正方形。
现在小明有一块知形的材料,两边长分别是 2019 和 324。请问小明最终会切出多小个正方形?
运行限制
•最大运行时间:1s
•最大运行内存:128M
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int t,n=0;
int h=2019;
int w=324;
while(!(w==h)){
if(h>w){
t=w;
w=h-w;
h=t;
n++;
}
if(h<w){
h=h;
w=w-h;
n++;
}
}
System.out.println(n+1);
scan.close();
}
}
思路
总结:
最开始的时候也提交了好几次才成功,很久没有写代码了,细节的地方会敲错,修正之后就好了。
蓝桥杯要多写写题解,给别人讲懂了,自己就会了。
这道题也没有什么难度吧,我觉得最难的地方就是在最后输出的时候直接输出了n导致报错。当h!==w时,此时是一个正方体,这时不进入循环体,也就是不进行切割,直接拿来算正方体的次数,所以要在切割一次记录一次正方体的个数后再+1。
有什么问题或者其他解法欢迎大家留言,小编看到都会回复(●'◡'●)嘻嘻~