蓝桥杯-经典枚举案例

简介: 必须要一个数组来存放0-9每个卡片的余额,每个数组下标对应各自卡片【下标为0代表卡片0的数量】

1.卡片

题目


image.png

解析

必须要一个数组来存放0-9每个卡片的余额,每个数组下标对应各自卡片【下标为0代表卡片0的数量】


利用取模运算来帮我们判断应该扣除那个卡片的数量【12%10=2,卡片2的数量-1】


利用 ‘/10’来不断更替个位【12/10=1,再次循环给1取模】


跳出循环的条件【当某一张卡片用完就跳出循环】


代码

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
    private static int[] cards={2021,2021,2021,2021,2021,2021,2021,2021,2021,2021};
    public static void main(String[] args) {
        //从1开始测试
        for(int i=1;;i++){
            if(check(i)==0){
                System.out.println(i-1);
                break;
            }
        }
    }
    /**
     *
     * @param num 判断的数字
     * @return 返回1代表卡片还没完,返回代表有卡片已经用完了
     */
    static int check(int num){
        while(num>0){
            int index = num%10;
            if(cards[index]>0){
                cards[index]--;
            } else{
                return 0;
            }
            //处理数据以进行下一轮循环
            num/=10;
        }
        return 1;
    }
}
相关文章
|
7月前
|
人工智能 算法 测试技术
[蓝桥杯] 枚举、模拟和排列问题
[蓝桥杯] 枚举、模拟和排列问题
59 0
蓝桥杯之多界面切换处理(枚举加状态机法)
蓝桥杯之多界面切换处理(枚举加状态机法)
92 0
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
222 0
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
215 0
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
182 0
|
Python
蓝桥杯 试题G 回文日期 Python 枚举法
蓝桥杯 试题G 回文日期 Python 枚举法
56 0
蓝桥杯 试题G 回文日期 Python 枚举法
【蓝桥杯省赛】冲刺练习题【枚举】倒计时【12】天-2
【蓝桥杯省赛】冲刺练习题【枚举】倒计时【12】天
78 0
【蓝桥杯省赛】冲刺练习题【枚举】倒计时【12】天-1
【蓝桥杯省赛】冲刺练习题【枚举】倒计时【12】天
117 0
|
缓存 Ruby
蓝桥杯第八讲--枚举与模拟【习题】(二)
蓝桥杯第八讲--枚举与模拟【习题】
116 0
蓝桥杯第八讲--枚举与模拟【习题】(二)
|
算法 C++
蓝桥杯第八讲--枚举与模拟【习题】(一)
蓝桥杯第八讲--枚举与模拟【习题】
88 0