欢迎来到天天文库
浏览记录
ID:45092238
大小:26.82 KB
页数:12页
时间:2019-11-09
《2018蓝桥杯C语言b组国赛真题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2018蓝桥杯C语言b组国赛真题 1.标题:换零钞x星球的钞票的面额只有:100元,5元,2元,1元,共4种。小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,剩下的当然都是5元面额的。银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?(5元,2元,1元面额的必须都有,不能是0)注意,需要提交的是一个整数,不要填写任何多余的内容。手算都可以。。。下面是代码,答案741.#
2、include2.usingnamespacestd;3.intmain(){4.for(inti=1;i<40;i++){5.for(intj=1;j<200;j++){6.if(5*i+2*10*j+1*j==200)7.cout<<"5*"<3、排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。要求提交一个整数,表示30台激光器能形成的样式种数。注意,只提交一个整数,不要填写任何多余的内容。思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启4、来取值,以此类推。。。答案21783091.#include2.#include3.usingnamespacestd;4.intans=0;5.intx[31];//0代表关,1代表开6.7.voiddfs(intindex){8.if(index==30){9.ans++;10.return;11.}12.if(index==05、6、x[index-1]==0){//第一个灯光可以取0或1,当前灯光左边要是没开,那当前灯光可以取0和113.for(inti=0;i<=1;i++){17、4.x[index]=i;1.dfs(index+1);2.x[index]=0;3.}4.}5.else{//左边的灯光开了,那当前灯光只能关闭(取0)6.dfs(index+1);7.}8.}9.10.intmain(){11.memset(x,0,31*sizeof(int));12.dfs(0);13.cout<8、来生成格雷码。以下是较常见的一种:从编码全0开始生成。当产生第奇数个数时,只把当前数字最末位改变(0变1,1变0)当产生第偶数个数时,先找到最右边的一个1,把它左边的数字改变。用这个规则产生的4位格雷码序列如下:0000000100110010011001110101010011001101111111101010101110011000以下是实现代码,仔细分析其中逻辑,并填写划线部分缺少的代码。(答案:a^((a&(-a))<<1))1.#include2.voidshow(inta,intn){3.in9、ti;4.intmsk=1;5.for(i=0;i>1;9.}10.printf("");11.}12.voidf(intn){13.inti;14.intnum=1;15.for(i=0;i10、{6.a=_________________________;//填空7.}8.}9.}10.intmain(){11.f(4);12.return0;13.}请注意:只需要填写划线部分缺少的内容,不要抄写已有的代码或符号。4.标题:调手表小明买了块高端大气上档次的电子手表,他正准备调时间
3、排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。要求提交一个整数,表示30台激光器能形成的样式种数。注意,只提交一个整数,不要填写任何多余的内容。思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启
4、来取值,以此类推。。。答案21783091.#include2.#include3.usingnamespacestd;4.intans=0;5.intx[31];//0代表关,1代表开6.7.voiddfs(intindex){8.if(index==30){9.ans++;10.return;11.}12.if(index==0
5、
6、x[index-1]==0){//第一个灯光可以取0或1,当前灯光左边要是没开,那当前灯光可以取0和113.for(inti=0;i<=1;i++){1
7、4.x[index]=i;1.dfs(index+1);2.x[index]=0;3.}4.}5.else{//左边的灯光开了,那当前灯光只能关闭(取0)6.dfs(index+1);7.}8.}9.10.intmain(){11.memset(x,0,31*sizeof(int));12.dfs(0);13.cout<8、来生成格雷码。以下是较常见的一种:从编码全0开始生成。当产生第奇数个数时,只把当前数字最末位改变(0变1,1变0)当产生第偶数个数时,先找到最右边的一个1,把它左边的数字改变。用这个规则产生的4位格雷码序列如下:0000000100110010011001110101010011001101111111101010101110011000以下是实现代码,仔细分析其中逻辑,并填写划线部分缺少的代码。(答案:a^((a&(-a))<<1))1.#include2.voidshow(inta,intn){3.in9、ti;4.intmsk=1;5.for(i=0;i>1;9.}10.printf("");11.}12.voidf(intn){13.inti;14.intnum=1;15.for(i=0;i10、{6.a=_________________________;//填空7.}8.}9.}10.intmain(){11.f(4);12.return0;13.}请注意:只需要填写划线部分缺少的内容,不要抄写已有的代码或符号。4.标题:调手表小明买了块高端大气上档次的电子手表,他正准备调时间
8、来生成格雷码。以下是较常见的一种:从编码全0开始生成。当产生第奇数个数时,只把当前数字最末位改变(0变1,1变0)当产生第偶数个数时,先找到最右边的一个1,把它左边的数字改变。用这个规则产生的4位格雷码序列如下:0000000100110010011001110101010011001101111111101010101110011000以下是实现代码,仔细分析其中逻辑,并填写划线部分缺少的代码。(答案:a^((a&(-a))<<1))1.#include2.voidshow(inta,intn){3.in
9、ti;4.intmsk=1;5.for(i=0;i>1;9.}10.printf("");11.}12.voidf(intn){13.inti;14.intnum=1;15.for(i=0;i10、{6.a=_________________________;//填空7.}8.}9.}10.intmain(){11.f(4);12.return0;13.}请注意:只需要填写划线部分缺少的内容,不要抄写已有的代码或符号。4.标题:调手表小明买了块高端大气上档次的电子手表,他正准备调时间
10、{6.a=_________________________;//填空7.}8.}9.}10.intmain(){11.f(4);12.return0;13.}请注意:只需要填写划线部分缺少的内容,不要抄写已有的代码或符号。4.标题:调手表小明买了块高端大气上档次的电子手表,他正准备调时间
此文档下载收益归作者所有