蓝桥杯双周赛算法心得——铺地板(质因数)

大家好,我是晴天学长,这是第二周的蓝桥杯的双周赛,题可出的又好又灵活啊!真不错!


1) .铺地板


2) .算法思路

1.导入java.util包中的Scanner类,以从用户那里读取输入。
2.main方法是程序的入口点。
3.创建一个Scanner对象,用于从标准输入读取输入。
4.从用户那里读取一个整数n,表示测试用例的数量。
5进入一个循环,循环n次。
6.在循环内部,从用户那里读取两个整数a和b,表示要铺砖的区域的尺寸。
7.检查特殊情况,例如当a或b小于2,或者a和b都小于3时,无法铺砖。如果满足任何这些条件,打印"No"并继续下一次循环迭代。
8.如果不满足特殊情况,检查区域是否可以铺砖,通过检查a和b的乘积是否可以被6整9.除(2x1和3x1砖块的总面积为6)。
10如果可以铺砖,打印"Yes";否则,打印"No"。
11.循环结束后,程序结束。


3).代码示例

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            //特殊情况
            if (Math.max(a, b) < 3 || Math.min(a, b) < 2) {
                System.out.println("No");
                continue;
            }
            //开始铺
            if ((a * b) % 6 == 0) {
                System.out.println("Yes");
            }
            else {
                System.out.println("No");
            }
        }
    }
}

4).总结

  • 注意特殊情况的判定。

试题链接:

你可能感兴趣的:(算法,蓝桥杯,算法,职场和发展)