第十二届蓝桥杯卡片题解

在这里插入图片描述

这题的主要思路就是找出连续的数值,很简单的题 答案是3181

首先我们用循环给他们都赋值

 //赋值
        for(int i = 0 ; i <= 9 ; i ++){
            kp[i] = 2021;//每种卡片2021张
        }

第二步判断是否是从1到x的连续的数

public static int def(int kp[]){
        int i;
        for(i = 1 ; i < 20210 ; i ++){
            int t = i;
            while(t > 0 ){

                kp[t%10]--;
                //只要这玩意断片就给他结束
                if(kp[t%10] <= 0 ){
                    return i;
                }
                t /= 10;
            }
        }
        return 0;
    }

应该都看懂了,全部代码附上



/**
 * @ProjectName: 自己写的Java学习教程
 * @Package: 蓝桥杯18
 * @ClassName: 卡片
 * @Author: Wuwei
 * @Description:
 * @Date: 2021/4/19 8:10
 * @Version: 1.0
 */
public class Main {
    public static void main(String[] args) {
        int kp[] = new int[10];

        //赋值
        for(int i = 0 ; i <= 9 ; i ++){
            kp[i] = 2021;//每种卡片2021张
        }


        System.out.println(def(kp));




    }


    public static int def(int kp[]){
        int i;
        for(i = 1 ; i < 20210 ; i ++){
            int t = i;
            while(t > 0 ){

                kp[t%10]--;
                //只要这玩意断片就给他结束
                if(kp[t%10] <= 0 ){
                    return i;
                }
                t /= 10;
            }
        }
        return 0;
    }
}

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值