蓝桥杯初赛b组试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

蓝桥杯初赛b组试题

————————————————————————————————作者:————————————————————————————————日期:

第一题结果填空3‘

奖券数目

有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。

虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10-99),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

请提交该数字(一个整数),不要写任何多余的内容或说明性文字。

-

题解:考试的时候写了个回溯法,然后屁颠屁颠的开始做下面一题了。。。结果错了→_→

1 #include

2using namespace std;

3bool fuck(int t)

4 {

5while(t)

6 {

7if(t%10==4)return false;

8 t/=10;

9 }

10return true;

11 }

12int main()

13 {

14int ans = 0, t = 10;

15while(t<100)

16if(fuck(t++))ans++;

17 cout<

18return0;

19 }

第一题

正确答案:52488(我居然上来第一题就错了居然写了13440→_→)

//cout<<8*9*9*9*9; →_→

第二题结果填空5‘

星系炸弹

在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。

每个炸弹都可以设定多少天之后爆炸。

比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在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位数字(答案唯一),不要填写任何多余内容。

-

题解:水题,给“祥瑞生辉三羊献气”编号01234567,直接回溯穷举即可

1 #include

2using namespace std;

3int a[8];

4bool b[10];

5void dfs(int cur)

6 {

7if(cur == 8)

8 {

9int x = 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<

11 }

12else

13 {

14for(int i = 0; i < 10; i++)

15 {

16if(cur == 0&&i == 0)continue;

17if(cur == 4&&i == 0)continue;

18if(!b[i])

19 {

20 b[i]=1;

21 a[cur]=i;

22 dfs(cur+1);

23 b[i]=0;

24 }

25 }

26 }

27 }

28int main()

29 {

30 dfs(0);

31return0;

32 }

第三题

正确答案:1085

第四题代码填空11‘

格子中输出

StringInGrid函数会在一个指定大小的格子中打印指定的字符串。

要求字符串在水平、垂直两个方向上都居中。

如果字符串太长,就截断。

如果不能恰好居中,可以稍稍偏左或者偏上一点。

下面的程序实现这个逻辑,请填写划线部分缺少的代码。

1 #include

2 #include

3

4void StringInGrid(int width, int height, const char* s)

5 {

6int i, k;

7char buf[1];

8 strcpy(buf, s);

9if (strlen(s)>width - 2) buf[width - 2] = 0;

10

11 printf("+");

12for (i = 0; i

13 printf("+\n");

14

15for (k = 1; k<(height - 1) / 2; k++)

16 {

17 printf("");

18for (i = 0; i

19 printf("\n");

20 }

21

22 printf("");

23

24 printf("%*s%s%*s", _____________________________________________); //填空

25

26 printf("\n");

27

28for (k = (height - 1) / 2 + 1; k

29 {

相关文档
最新文档