2021年4月蓝桥杯c/c++b组省赛第二题 卡片

Posted FPNU编程爱好者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年4月蓝桥杯c/c++b组省赛第二题 卡片相关的知识,希望对你有一定的参考价值。

来源

蓝桥杯第十二届c/c++b组省赛赛题 卡片

题目

小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从 1 拼到多少。

例如,当小蓝有 30 张卡片,其中 0 9 3 张,则小蓝可以拼出 1 10, 但是拼 11 时卡片 1 已经只有一张了,不够拼出 11

现在小蓝手里有 0 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少?

提示:建议使用计算机编程解决问题。

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一

个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

限制

编译器

C ++(g++)

代码

#include<iostream>

using namespace std;

int num=2021;

int dig[10];                              //记录0-9的个数

int main(){

int count=1;

for(int i=0;i<10;i++) dig[i]=num;

while(1){

int sign=count;

while(sign){                      //该数消耗的数字个数

if(dig[sign%10]==0){    

//该数需要用到的数字无法供给,输出该数的上一个数

cout<<count-1;

return 0;

}

dig[sign%10]--;

sign/=10;

}

count++;

}

return 0;

}

解题

报告

数逐加到该数所需的某个数字为0。

坑点

注意题目要求是拼到多少,而不是所有数字可以拼出多少数。

心得

暴力解决

审核:林常航

以上是关于2021年4月蓝桥杯c/c++b组省赛第二题 卡片的主要内容,如果未能解决你的问题,请参考以下文章

2021年4月蓝桥杯软件类省赛:题目+解析(完整版)

2021年4月蓝桥杯软件类省赛:题目+解析(完整版)

第十一届蓝桥杯大赛软件类省赛第二场C/C++大学B组(python解答)

第十二届蓝桥杯C++组省赛B组题解(A -- B)

第十二届蓝桥杯省赛第二场 C/C++ B组 编程题与详解

蓝桥杯省赛C++组别大学B组历年题解