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组省赛第二题 卡片的主要内容,如果未能解决你的问题,请参考以下文章