我是靠谱客的博主 碧蓝口红,最近开发中收集的这篇文章主要介绍【蓝桥杯 试题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拼到多少?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部