2015年蓝桥杯省赛B组C/C++(试题+答案分析)
第一题 结果填空 (3分)
奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
正确答案:52488
思路解析:
方法 1:最高位0、4不能使用,剩余8个数字(1,2,3,5,6,7,8,9),剩下的四位(千位、百位、十位、个位),剩下位数可以使用0.
可以使用除了4以外的所有数字,所以共有 8*9*9*9*9种解,
计算得答案为:52488。
方法2:暴力搜索方法(c++)
代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a, b, c, d, e;
int count = 0;
for(a = 1; a <= 9; a++)
{
for(b = 0; b <= 9; b++)
{
for(c = 0; c <= 9; c++)
{
for(d = 0; d <= 9; d++)
{
for(e = 0; e <= 9; e++)
{
if(a != 4 && b != 4 && c != 4 && d != 4 && e !=4)
{
count++;
}
}
}
}
}
}
cout<<count<<endl;
return 0;
}
总结:
蓝桥杯第一题一般只有三种方法:
- 数学方法
- excel表格
- 暴力解决
也就是间接说明不是很难,但一定要细心,如果你想得奖,这题必不可失分奥。
第二题 结果填空 (5分)
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请