当前位置:文档之家› 2013年第四届“蓝桥杯”全国软件大赛预赛C,C++本科A组试题

2013年第四届“蓝桥杯”全国软件大赛预赛C,C++本科A组试题

2013年第四届“蓝桥杯”全国软件大赛预赛C,C++本科A组试题
2013年第四届“蓝桥杯”全国软件大赛预赛C,C++本科A组试题

第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛

C/C++本科A组

考生须知:

●考试开始后,选手首先下载题目到本机不被还原的盘符,并使用考场现场公布的解压密码解压试题。

●考试时间为9:00-13:00,共4个小时。13点整时间截止时,将无法提交答案。选手因考试结束不能提交答案的,责任由选手自负。

●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。

●选手可浏览自己已经提交的答案。

●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。

●选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。

●选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。

●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。

结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。

把结果填空的答案直接通过网页提交即可,不要书写多余的内容。

代码填空题:要求选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。

把代码填空的答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交即可,不要书写多余的内容。

注意选择自己使用的编译环境。

使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。

程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。

注意: main函数需要返回0

注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

所有源码必须在同一文件中。调试通过后,拷贝提交。

提交时,注意选择所期望的编译器类型。

1.结果填空(满分4分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目

录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

题目标题: 高斯日记

大数学家高斯有个好习惯:无论如何都要记日记。

他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?

高斯出生于:1777年4月30日。

在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。

高斯获得博士学位的那天日记上标着:8113

请你算出高斯获得博士学位的年月日。

提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21

请严格按照格式,通过浏览器提交答案。

注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。

2.结果填空(满分6分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

题目标题: 排它平方数

小明正看着203879 这个数字发呆。

原来,203879 * 203879 = 41566646641

这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它!

再归纳一下筛选要求:

1. 6位正整数

2. 每个数位上的数字不同

3. 其平方数的每个数位不含原数字的任何组成数位

答案是一个6位的正整数。

请通过浏览器提交答案。

注意:只提交另一6位数,题中已经给出的这个不要提交。

注意:不要书写其它的内容(比如:说明性的文字)。

3.结果填空(满分6分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

标题: 振兴中华

小明参加了学校的趣味运动会,其中的一个项目是:跳格子。

地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)

从我做起振

我做起振兴

做起振兴中

起振兴中华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。

要求跳过的路线刚好构成“从我做起振兴中华”这句话。

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

答案是一个整数,请通过浏览器直接提交该数字。

注意:不要提交解答过程,或其它辅助说明类的内容。

4.结果填空(满分13分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

标题: 颠倒的价牌

小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。

其标价都是4位数字(即千元不等)。

小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见p1.jpg)。

这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!!

当然,多数情况不能倒读,比如,1110 就不能倒过来,因为0不能作为开始数字。

有一天,悲剧终于发生了。某个店员不小心把店里的某两个价格牌给挂倒了。并且这两

个价格牌的电视机都卖出去了!

庆幸的是价格出入不大,其中一个价牌赔了2百多,另一个价牌却赚了8百多,综合起来,反而多赚了558元。

请根据这些信息计算:赔钱的那个价牌正确的价格应该是多少?

答案是一个4位的整数,请通过浏览器直接提交该数字。

注意:不要提交解答过程,或其它辅助说明类的内容。

5.代码填空(满分5分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。

只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。

必须通过浏览器提交答案。

注意选择自己使用的编译环境。

题目标题:前缀判断

如下的代码判断needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。

比如:"abcd1234" 就包含了"abc" 为前缀

char* prefix(char* haystack_start, char* needle_start)

{

char* haystack = haystack_start;

char* needle = needle_start;

while(*haystack && *needle){

if(______________________________) return NULL; //填空位置

}

if(*needle) return NULL;

return haystack_start;

}

请分析代码逻辑,并推测划线处的代码,通过网页提交。

注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!

6.代码填空(满分10分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目

录中。请先阅读题目,不限解决问题的方式。

只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。

必须通过浏览器提交答案。

注意选择自己使用的编译环境。

标题:逆波兰表达式

正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。

例如:3 + 5 * (2 + 6) - 1

而且,常常需要用括号来改变运算次序。

相反,如果使用逆波兰表达式(前缀表达式)表示,上面的算式则表示为:

- + 3 * 5 + 2 6 1

不再需要括号,机器可以用递归的方法很方便地求解。

为了简便,我们假设:

1. 只有+ - * 三种运算符

2. 每个运算数都是一个小于10的非负整数

下面的程序对一个逆波兰表示串进行求值。

其返回值为一个结构:其中第一元素表示求值结果,第二个元素表示它已解析的字符数。struct EV

{

int result; //计算结果

int n; //消耗掉的字符数

};

struct EV evaluate(char* x)

{

struct EV ev = {0,0};

struct EV v1;

struct EV v2;

if(*x==0) return ev;

if(x[0]>='0' && x[0]<='9'){

ev.result = x[0]-'0';

ev.n = 1;

return ev;

}

v1 = evaluate(x+1);

v2 = _____________________________; //填空位置

if(x[0]=='+') ev.result = v1.result + v2.result;

if(x[0]=='*') ev.result = v1.result * v2.result;

if(x[0]=='-') ev.result = v1.result - v2.result;

ev.n = 1+v1.n+v2.n;

return ev;

}

请分析代码逻辑,并推测划线处的代码,通过网页提交。

注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!

7.程序设计(满分4分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。

建议仔细阅读示例,不要想当然!

程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。

程序必须使用标准输入、标准输出,以便于机器评卷时重定向。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。

注意: main函数结尾需要return 0

注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

提交时,注意选择所期望的编译器类型。

标题:错误票据

某涉密单位下发了某种票据,并要在年终全部收回。

每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。

因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。

你的任务是通过编程,找出断号的ID和重号的ID。

假设断号不可能发生在最大和最小号。

要求程序首先输入一个整数N(N<100)表示后面数据行数。

接着读入N行数据。

每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)

每个整数代表一个ID号。

要求程序输出1行,含两个整数m n,用空格分隔。

其中,m表示断号ID,n表示重号ID

例如:

用户输入:

2

5 6 8 11 9

10 12 9

则程序输出:

7 9

再例如:

用户输入:

6

164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196

172 189 127 107 112 192 103 131 133 169 158

128 102 110 148 139 157 140 195 197

185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190

149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188

113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119

则程序输出:

105 120

资源约定:

峰值内存消耗< 64M

CPU消耗< 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

8.程序设计(满分12分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。

建议仔细阅读示例,不要想当然!

程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。

程序必须使用标准输入、标准输出,以便于机器评卷时重定向。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、

Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。

注意: main函数结尾需要return 0

注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

提交时,注意选择所期望的编译器类型。

标题:买不到的数目

小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。

小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买10 颗糖。

你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。

本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。

输入:

两个正整数,表示每种包装中糖的颗数(都不多于1000)

要求输出:

一个正整数,表示最大不能买到的糖数

例如:

用户输入:

4 7

程序应该输出:

17

再例如:

用户输入:

3 5

程序应该输出:

7

资源约定:

峰值内存消耗< 64M

CPU消耗< 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

9.程序设计(满分16分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。

建议仔细阅读示例,不要想当然!

程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。

程序必须使用标准输入、标准输出,以便于机器评卷时重定向。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。

注意: main函数结尾需要return 0

注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

提交时,注意选择所期望的编译器类型。

标题:剪格子

如图p1.jpg所示,3 x 3 的格子中填写了一些整数。

我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。

本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。

如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。

如果无法分割,则输出0

程序输入输出格式要求:

程序先读入两个整数m n 用空格分割(m,n<10)

表示表格的宽度和高度

接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000

程序输出:在所有解中,包含左上角的分割区可能包含的最小的格子数目。

例如:

用户输入:

3 3

10 1 52

20 30 1

1 2 3

则程序输出:

3

再例如:

用户输入:

4 3

1 1 1 1

1 30 80 2

1 1 1 100

则程序输出:

10

(参见p2.jpg)

资源约定:

峰值内存消耗< 64M

CPU消耗< 5000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

10.程序设计(满分24分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。

建议仔细阅读示例,不要想当然!

程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。

程序必须使用标准输入、标准输出,以便于机器评卷时重定向。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。

注意: main函数结尾需要return 0

注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

提交时,注意选择所期望的编译器类型。

标题:大臣的旅费

很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。

为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。

J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。他有一个钱袋,用于存放往来城市间的路费。

聪明的J发现,如果不在某个城市停下来修整,在连续行进过程中,他所花的路费与他已走过的距离有关,在走第x千米到第x+1千米这一千米中(x是整数),他花费的路费是x+10这么多。也就是说走1千米花费11,走2千米要花费23。

J大臣想知道:他从某一个城市出发,中间不休息,到达另一个城市,所有可能花费的路费中最多是多少呢?

输入格式:

输入的第一行包含一个整数n,表示包括首都在内的T王国的城市数

城市从1开始依次编号,1号城市为首都。

接下来n-1行,描述T国的高速路(T国的高速路一定是n-1条)

每行三个整数Pi, Qi, Di,表示城市Pi和城市Qi之间有一条高速路,长度为Di千米。

输出格式:

输出一个整数,表示大臣J最多花费的路费是多少。

样例输入:

5

1 2 2

1 3 1

2 4 5

2 5 4

样例输出:

135

样例说明:

大臣J从城市4到城市5要花费135的路费。

资源约定:

峰值内存消耗< 64M

CPU消耗< 5000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

蓝桥杯c c 省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析 第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:171700 #include<> int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans); return 0; }

第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include<> int main()

{ int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end); } } }

2018蓝桥杯试题

2018蓝桥杯C语言b组国赛真题 1.标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种。 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。 小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍, 剩下的当然都是5元面额的。 银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗? (5元,2元,1元面额的必须都有,不能是0) 注意,需要提交的是一个整数,不要填写任何多余的内容。 手算都可以。。。下面是代码,答案74 1.#include https://www.doczj.com/doc/c89755148.html,ing namespace std; 3.int main(){ 4.for(int i=1;i<40;i++){ 5.for(int j=1;j<200;j++){ 6.if(5*i+2*10*j+1*j==200) 7. cout<<"5*"<

12.2.标题:激光样式 x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果? 显然,如果只有3台机器,一共可以成5种样式,即: 全都关上(sorry, 此时无声胜有声,这也算一种) 开一台,共3种 开两台,只1种 30台就不好算了,国王只好请你帮忙了。 要求提交一个整数,表示30台激光器能形成的样式种数。 注意,只提交一个整数,不要填写任何多余的内容。 思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启来取值,以此类推。。。答案2178309 1.#include 2.#include https://www.doczj.com/doc/c89755148.html,ing namespace std; 4.int ans = 0; 5.int x[31];//0代表关,1代表开 6. 7.void dfs(int index){ 8.if(index == 30){ 9.ans++; 10.return; 11.} 12.if(index == 0 || x[index-1] == 0){ //第一个灯光可以取0或1,当前灯 光左边要是没开,那当前灯光可以取0和1 13.for(int i=0;i<=1;i++){ 14.x[index] = i;

蓝桥杯试题C语言答案

1、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些 人参加了竞赛: (1)A参加时,B也参加; (2)B和C只有一个人参加; (3)C和D或者都参加,或者都不参加; (4)D和E中至少有一个人参加; (5)如果E参加,那么A和D也都参加。 00110 c、d #include<> int main() { int a,b,c,d,e; /*0表示不参加, 1表示参加.*/ for(a=0;a<2;a++) for(b=0;b<2;b++) for(c=0;c<2;c++) for(d=0;d<2;d++) for(e=0;e<2;e++) { if(a&&!b) continue; if(b&&c||!b&&!c) continue; if(c&&!d||!c&&d) continue; if(!d&&!e) continue; if(e&&(!a||!d)) continue; printf("%d%d%d%d%d",a,b,c,d,e); } return 0; } 2、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人; 2)A和D不能一起去; 3)A、E和F三人中要派两人去; 4)B和C都去或都不去; 5)C和D两人中去一个; 6)若D不去,则E也不去。 试编写一个程序,输出问应当让哪几个人去? #include<> int main() { int a,b,c,d,e,f; for(a=1;a>=0;a--) for(b=1;b>=0;b--)/*1:去 0:不去*/ for(c=1;c>=0;c--)

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 c 本科 第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

q__1__ = p[i+1]; q[len-1] = p[0]; —–(2)—-; prin tf(“%s\n”, q); 第三题, int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4];

for(int i=0; i<4; i++) { N[3-i] = n % 10; —-(4)—- } for(i=0; i<3; i++) for(int j=0; j<3-i; j++) if(N[j]>N[j+1]) { int t = N[j+1]; N[j+1] = N[j]; N[j] = t; } int n_min=0; for(i=0; i<4; i++) n_min = n_min * 10 + N[i] ; int n_max = 0; for(i=3; i>=0; i–) n_max = n_max * 10 + N[i]; return n_max-n_min; } 第五题,假设有m+n个人,其中, m个人手持面额为5角的硬币, n个人手持面额为1元的硬币,

蓝桥杯算法训练习题与官方答案

算法训练 编号:ALGO-1 题目:区间k大数查询列 关键字:排序查找 类型:普通试题 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。 输出格式 总共输出m行,每行一个数,表示询问的答案。 样例输入 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 4 2 数据规模与约定 对于30%的数据,n,m<=100; 对于100%的数据,n,m<=1000; 保证k<=(r-l+1),序列中的数<=1000000。 本题的Java参考代码如下: import java.io.BufferedInputStream; import java.io.IOException; import java.util.Arrays;

public class Main { private static BufferedInputStream in = new BufferedInputStream(System.in); public static void main(String[] args) throws IOException { int[] nums = new int[readInt()]; for(int i=0; i0; i--) { int a = readInt(); int b = readInt(); int c = readInt(); int[] tn = new int[b-a+1]; for(int j=0; j57); for(;(i&56) == 48 || (i&62) == 56; i=in.read()) sum = sum*10 + (i&15); return sum; } }

蓝桥杯cc省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:171700 #include int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans);

return 0; } 第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include int main() { int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end);

蓝桥杯试题标准答案(练习)

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。 #include int main() { int a,b,i,n; for(a=1;a<=10000;a++) { for(b=0,i=1;i<=a/2;i++) if(a%i==0) b+=i; for(n=0,i=1;i<=b/2;i++) if(b%i==0) n+=i; if(n==a&&a!=b&&a

int main() { long days = 5; /*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/ int i = 2000; for(;;) /*无循环终止条件,可以利用break语句终止循环*/ { if(i%4==0&&i%100!=0||i%400==0) { days = days%7+366; } else { days = days%7+365; } if(days%7==0&&i%100==99) { printf("%d",i); break; } i++; } return 0; } 3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

第七届蓝桥杯程序设计大赛题目及答案

第七届省赛 1.网友年龄 某君新认识一网友。 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种可能情况? 提示:30岁就是其中一种可能哦. 请填写表示可能情况的种数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 7 x-y=3 2.生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 26 #include using namespace std; int main(){ int i,j; int sum=0; for(i=1;i<=100;i++){ //年龄 sum=0; for(j=i;j<=100;j++){ //蜡烛数 sum=sum+j; if(sum==236){ cout<

3.方格填数 如下的10个格子 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 //用dfs求 #include #include #include using namespace std; const int maxn=4; int mp[maxn][maxn]; int flag[10]; int ans=0; int init() { memset(mp,-10, sizeof mp); memset(flag,0, sizeof flag); } int fx[4]= {0,-1,-1,-1},fy[4]= {-1,-1,0,1}; int check(int i,int j) { for(int f=0; f<4; f++) { if(abs(mp[i][j]-mp[i+fx[f]][j+fy[f]])!=1||i+fx[f]<1||j+fy[f]>4||j+fy[f]<1 ) continue; else return 0; } return 1; } void dfs(int i,int j) {

2015年蓝桥杯C组试题及答案

2014年蓝桥杯c语言试题及答案 发布时间:2015-04-09 1. 标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢? 请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。 满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。 答案直接通过浏览器提交。 注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。 答案:142 2. 标题: 振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从我做起振 我做起振兴 做起振兴中 起振兴中华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢? 答案是一个整数,请通过浏览器直接提交该数字。 答案:35 3. 题目标题: 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。 通过浏览器,直接提交他那时的年龄数字。 注意:不要提交解答过程,或其它的说明文字。 答案:18 4. 标题: 幻方填空

2015年蓝桥杯C组试题及答案

隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。 小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。 请你直接提交这个整数,千万不要填写任何多余的内容。15 立方尾不变 有些数字的立方的末尾正好是该数字本身。 比如:1,4,5,6,9,24,25,.... 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。 请提交该整数,不要填写任何多余的内容。29 #include"iostream.h" int main() {int j=1; for(int i=1;i<=10000;i++) { int k=i*i*i; if(k%100000000==i||k%10000000==i||k%1000000==i||k%100000==i||k%10 000==i||k%1000==i||k%100==i||k%10==i||k==i) {j++;}} cout<

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 格子中输出 StringInGrid函数会在一个指定大小的格子中打印指定的字符串。 要求字符串在水平、垂直两个方向上都居中。 如果字符串太长,就截断。 如果不能恰好居中,可以稍稍偏左或者偏上一点。 下面的程序实现这个逻辑,请填写划线部分缺少的代码。 #include #include void StringInGrid(int width, int height, const char* s) { int i,k; char buf[1000]; strcpy(buf, s); if(strlen(s)>width-2) buf[width-2]=0; printf("+"); for(i=0;i

蓝桥杯试题

第十届蓝桥杯大赛软件类省赛C/C++大学A组 第十届蓝桥杯大赛软件类省赛 C/C++大学A组 【考生须知】 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。 考试时间为4小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。 对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 试题包含“结果填空”和“程序设计”两种题型。 结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对于编程题目,要求选手给出的解答完全符合GNU C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。 代码中允许使用STL类库。 注意:main函数结束必须返回0 注意:所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。 所有源码必须在同一文件中。调试通过后,拷贝提交。 提交时,注意选择所期望的编译器类型。 第十届蓝桥杯大赛软件类省赛1

第十届蓝桥杯大赛软件类省赛C/C++大学A组 试题A:平方和 本题总分:5分 【问题描述】 小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括1、2、9、10至32、39和40,共28个,他们的和是574,平方和是14362。注意,平方和是指将每个数分别平方后求和。 请问,在1到2019中,所有这样的数的平方和是多少? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 提示:如果你编写程序计算,发现结果是负的,请仔细检查自己的程序,不要怀疑考场的编程软件。 试题A:平方和2

2011蓝桥杯模拟试题java本科组试题及答案

2011 模拟java 本科 1.代码设计(满分5分) 625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗? 请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。 输出结果中,从小到大,每个找到的数字占一行。比如那个625就输出为:625 public static void main(String[] args) { int temp = 0; for(int i = 100; i <= 999; ++i){ temp = i*i; temp %= 1000; if(temp == i)System.out.println(i); } } 2.代码设计(满分11分) 考虑方程式:a^3 + b^3 = c^3 + d^3 其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数.这个方程有很多解。比如:a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729.当然,a=12,b=1,c=9,d=10 显然也是解。

如果不计abcd交换次序的情况,这算同一个解。你的任务是:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:1,9,10,12 不同解间的顺序可以不考虑。 public static void main(String[] args) { int []arr = new int[31]; for(int i = 1; i <= 30; ++i){ arr[i] = (int)i*i*i; } for(int a = 1 ; a <= 27; ++a){ for(int b = a+1 ; b <= 28; ++b){ for(int c = b+1 ; c <= 29; ++c){ for(int d = c+1 ; d <= 30; ++d){ if((arr[a] + arr[d])==(arr[b] + arr[c])) System.out.println(a + "," + b + "," + c + "," + d); } } } } }

蓝桥杯预赛题目与答案

蓝桥杯预赛题目1 第一题 标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。 #include void main() { int pj,yl; //啤酒与饮料double sum=82.3; for(pj=0; pj<=20; pj++) { yl=(int)((sum-pj*2.3)/1.9); if(pj*2.3+yl*1.9==sum) { printf("pj=%d,yl=%d\n",pj,yl); //pj=11 yl=30 } } } 第二题 标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。#include void main() { int qie(int n); int g(int n); int sum=0; //面条总数int n=10; sum=qie(n); printf("%d\n",sum); } int qie(int n) //折叠n次以后,切一刀后的面条数{ int g(int n); if(n==1) { return 3; } else { return g(n-1)+ qie(n-1); //g(n)是有所有面条都有折痕一边的面条数} } int g(int n) { if(n==1) { return 2; } else { return g(n-1)*2; } }-----1025 第三题 标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。

2015年蓝桥杯A组试题及答案

2015蓝桥杯A组试题 方程整数解 方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗? 请填写该解中最小的数字。 10 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include"stdio.h" #include"windows.h" int main() { int a, b, c; for (a = 1; a < 31;a++) for (b= 1; b < 31; b++) for (c = 1; c < 31; c++)

if (a*a + b*b + c*c == 1000) printf("%d %d %d\n", a, b, c); } printf("%d %d %d",a,b,c); system("pause"); return 0; } 星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19 请严格按照格式书写。不能出现其它文字或符号。 21+31(2014年)+365(2015年)+366(2016年)=783;1000-783=217(2017年的第217天爆炸);31+28+31+30+31+30+31=212(2017年前七个月的天数);217-212=5(2017年第8个月的第五天爆炸)

2014年第五届蓝桥杯预赛题目及答案

2014年第五届蓝桥杯预赛题目 第一题 标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。 第二题 标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。 第三题 标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目

给出的)。 注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。 第四题 标题:史丰收速算 史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7 是个循环小数:0.142857...,如果多位数超过142857...,就要进1 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过n/7,就要进n 下面的程序模拟了史丰收速算法中乘以7的运算过程。 乘以7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。 乘以7 的进位规律是: 满142857 (1) 满285714 (2) 满428571 (3) 满571428 (4) 满714285 (5) 满857142... 进6 请分析程序流程,填写划线部分缺少的代码。 241876844562801 //计算个位 int ge_wei(int a) { if(a % 2 == 0) return (a * 2) % 10; else return (a * 2 + 5) % 10; } //计算进位

蓝桥杯java历年真题及答案整理(共129道题目及答案)

蓝桥杯java历年真题及答案整理(参考网络资料整理出来) 1.字符排序 算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。 package Question1_9; import java.util.Scanner; import java.util.Vector; public class Question1 { public static long count=0; private void fullPermutation(Vectorsourse, Vector result) { if(sourse.size()==0){ for (int i = 0; i < result.size(); i++) { System.out.print(result.elementAt(i)); } System.out.print("\n"); count++; return; } for (int i = 0; i < sourse.size(); i++) { Vectortsourse=new Vector(sourse); Vectortresult=new Vector(result); tresult.add(sourse.elementAt(i)); tsourse.remove(i); new Question1().fullPermutation(tsourse, tresult); } } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); Vector sourse=new Vector(); Vector result=new Vector(); for (int i = 0; i < n; i++) { sourse.add((char)('A'+i)); } new Question1().fullPermutation(sourse, result); System.out.println(Question1.count);

蓝桥杯试题答案(练习)

蓝桥杯试题答案(练习)

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。 #include int main() { int a,b,i,n; for(a=1;a<=10000;a++) { for(b=0,i=1;i<=a/2;i++) if(a%i==0) b+=i; for(n=0,i=1;i<=b/2;i++) if(b%i==0) n+=i;

l ong days = 5; /*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/ int i = 2000; f or(;;) /*无循环终止条件,可以利用break语句终止循环*/ { if(i%4==0&&i%100!=0||i%400==0) { days = days%7+366; } else { days = days%7+365; }

if(days%7==0&&i%100==99) { printf("%d",i); break; } i++; } r eturn 0; } 3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次老师出的题目是36 x 495 = ? 他却给抄成了396 x 45 = ? 但结果却很戏剧性他的答案竟然是对的 因为 36 * 495 = 396 * 45 = 17820

类似这样的巧合情况可能还有很多,比如 27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字,注意是各不相同的数字且不含0 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢 请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。 满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。 答案直接通过浏览器提交。 注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。 #include int main() { int n,m,i=0; for(int a=1;a<10;a++)

2015年蓝桥杯A组试题及答案

2015蓝桥杯A组试题方程整数解 方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗? 请填写该解中最小的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include"stdio.h" #include"windows.h" int main() { int a, b, c; for (a = 1; a < 31;a++) for (b= 1; b < 31; b++) for (c = 1; c < 31; c++) { if (a*a + b*b + c*c == 1000)

printf("%d %d %d\n", a, b, c); } printf("%d %d %d",a,b,c); system("pause"); return 0; } 星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19 请严格按照格式书写。不能出现其它文字或符号。 21+31(2014年)+365(2015年)+366(2016年)=783;1000-783=217(2017年的第217天爆炸);31+28+31+30+31+30+31=212(2017年前七个月的天数);217-212=5(2017年第8个月的第五天爆炸) 大牛有用excel直接拖,用vbs算,路漫漫其修远兮......

蓝桥杯初赛b组试题

蓝桥杯初赛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‘ 三羊献瑞 观察下面的加法算式:

相关主题
文本预览
相关文档 最新文档