我是靠谱客的博主 碧蓝口红,最近开发中收集的这篇文章主要介绍【蓝桥杯 试题B:卡片】小蓝有很多数字卡片,每张卡片上都是数字0到9。 小蓝准备用这些卡片来拼一些数,他想从1开始拼现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
试题B:卡片
本题总分:5分
【问题描述】
小蓝有很多数字卡片,每张卡片上都是数字0到9。
小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。
小蓝想知道自己能从1拼到多少。
例如,当小蓝有30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1已经只有一张了,不够拼出11。
现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?
提示:建议使用计算机编程解决问题。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
【解题答案】:
3181
【C语言代码实现】:
#include<stdio.h>
main()
{
int a[10],i,m,n,t;
for(i=0;i<10;i++)
{
a[i]=2021; //卡牌赋值
}
for(m=1;;m++) //当前数值
{
t=m; //
while(t!=0) //判断一个数是否已判断完成
{
n=t%10; //判断一个数的各个位上所用到的卡牌
t=t/10; //取数的个十百千位
switch(n)
{
case 1:a[1]--;break;
case 2:a[2]--;break;
case 3:a[3]--;break;
case 4:a[4]--;break;
case 5:a[5]--;break;
case 6:a[6]--;break;
case 7:a[7]--;break;
case 8:a[8]--;break;
case 9:a[9]--;break;
case 0:a[0]--;break;
}
if(a[n]==0) //如果0-9中的其中一种卡牌用完,则退出
break;
}
if(a[n]==0) //如果0-9中的其中一种卡牌用完,则退出
break;
}
printf("%dn",m);
}
最后
以上就是碧蓝口红为你收集整理的【蓝桥杯 试题B:卡片】小蓝有很多数字卡片,每张卡片上都是数字0到9。 小蓝准备用这些卡片来拼一些数,他想从1开始拼现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?的全部内容,希望文章能够帮你解决【蓝桥杯 试题B:卡片】小蓝有很多数字卡片,每张卡片上都是数字0到9。 小蓝准备用这些卡片来拼一些数,他想从1开始拼现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复