欢迎来到天天文库
浏览记录
ID:1481147
大小:83.01 KB
页数:33页
时间:2017-11-11
《2015年蓝桥杯初赛b组试题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第一题结果填空3‘奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10-99),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。-题解:考试的时候写了个回溯法,然后屁颠屁颠的开始做下面一题了。。。结果错了→_→1#include2usingnamespacestd;3boolfuck(intt)4{5while(t)6{7if(t%
2、10==4)returnfalse;8t/=10;9}10returntrue;11}12intmain()13{14intans=0,t=10;15while(t<100)16if(fuck(t++))ans++;17cout<3、天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。请填写该日期,格式为yyyy-mm-dd即4位年份2位月份2位日期。比如:2015-02-19请严格按照格式书写。不能出现其它文字或符号。-题解:不用废话,直接手算顶多3分钟,注意2016是闰年正确答案:2017-08-05 第三题结果填空9‘三羊献瑞观察下面的加法算式: 祥瑞生辉+ 三羊献瑞- 三羊生瑞气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一)4、,不要填写任何多余内容。-题解:水题,给“祥瑞生辉三羊献气”编号01234567,直接回溯穷举即可1#include2usingnamespacestd;3inta[8];4boolb[10];5voiddfs(intcur)6{7if(cur==8)8{9intx=a[0]*1+a[1]*100+a[2]*10+a[3],y=a[4]*1+a[5]*100+a[6]*10+a[1],z=a[4]*10+a[5]*1+a[2]*100+a[1]*10+a[7];10if(x+y==z)cout<5、;11}12else13{14for(inti=0;i<10;i++)15{16if(cur==0&&i==0)continue;17if(cur==4&&i==0)continue;18if(!b[i])19{20b[i]=1;21a[cur]=i;22dfs(cur+1);23b[i]=0;24}25}26}27}28intmain()29{30dfs(0);31return0;32}第三题正确答案:1085 第四题代码填空 11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就6、截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。1#include2#include34voidStringInGrid(intwidth,intheight,constchar*s)5{6inti,k;7charbuf[1];8strcpy(buf,s);9if(strlen(s)>width-2)buf[width-2]=0;1011printf("+");12for(i=0;i7、1;k<(height-1)/2;k++)16{17printf("");18for(i=0;i
3、天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。请填写该日期,格式为yyyy-mm-dd即4位年份2位月份2位日期。比如:2015-02-19请严格按照格式书写。不能出现其它文字或符号。-题解:不用废话,直接手算顶多3分钟,注意2016是闰年正确答案:2017-08-05 第三题结果填空9‘三羊献瑞观察下面的加法算式: 祥瑞生辉+ 三羊献瑞- 三羊生瑞气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一)
4、,不要填写任何多余内容。-题解:水题,给“祥瑞生辉三羊献气”编号01234567,直接回溯穷举即可1#include2usingnamespacestd;3inta[8];4boolb[10];5voiddfs(intcur)6{7if(cur==8)8{9intx=a[0]*1+a[1]*100+a[2]*10+a[3],y=a[4]*1+a[5]*100+a[6]*10+a[1],z=a[4]*10+a[5]*1+a[2]*100+a[1]*10+a[7];10if(x+y==z)cout<5、;11}12else13{14for(inti=0;i<10;i++)15{16if(cur==0&&i==0)continue;17if(cur==4&&i==0)continue;18if(!b[i])19{20b[i]=1;21a[cur]=i;22dfs(cur+1);23b[i]=0;24}25}26}27}28intmain()29{30dfs(0);31return0;32}第三题正确答案:1085 第四题代码填空 11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就6、截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。1#include2#include34voidStringInGrid(intwidth,intheight,constchar*s)5{6inti,k;7charbuf[1];8strcpy(buf,s);9if(strlen(s)>width-2)buf[width-2]=0;1011printf("+");12for(i=0;i7、1;k<(height-1)/2;k++)16{17printf("");18for(i=0;i
5、;11}12else13{14for(inti=0;i<10;i++)15{16if(cur==0&&i==0)continue;17if(cur==4&&i==0)continue;18if(!b[i])19{20b[i]=1;21a[cur]=i;22dfs(cur+1);23b[i]=0;24}25}26}27}28intmain()29{30dfs(0);31return0;32}第三题正确答案:1085 第四题代码填空 11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就
6、截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。1#include2#include34voidStringInGrid(intwidth,intheight,constchar*s)5{6inti,k;7charbuf[1];8strcpy(buf,s);9if(strlen(s)>width-2)buf[width-2]=0;1011printf("+");12for(i=0;i7、1;k<(height-1)/2;k++)16{17printf("");18for(i=0;i
7、1;k<(height-1)/2;k++)16{17printf("");18for(i=0;i
此文档下载收益归作者所有