2014第五届蓝桥杯程序设计本科B组省赛真题

合集下载

蓝桥杯试题及答案

蓝桥杯试题及答案

蓝桥杯试题及答案1. 单项选择题题目:以下哪个选项是Python语言中用于定义函数的关键字?A. classB. functionC. defD. method答案: C2. 多项选择题题目:以下哪些是数据结构中常见的排序算法?A. 快速排序B. 冒泡排序C. 选择排序D. 插入排序答案: A, B, C, D3. 判断题题目:在HTML中,`<p>`标签用于定义段落。

答案:正确4. 填空题题目:在Python中,使用______( )______关键字来创建一个空集合。

答案: set5. 简答题题目:解释什么是闭包,并给出一个Python中的闭包示例。

答案:闭包是一个函数对象,它引用了创建它的外部作用域中的变量。

闭包允许函数访问并操作外部作用域的变量。

示例:```pythondef outer_function(x):def inner_function(y):return x + yreturn inner_functionclosure = outer_function(2)print(closure(3)) # 输出结果为5```6. 编程题题目:编写一个函数,计算并返回斐波那契数列的第n项。

答案:```pythondef fibonacci(n):if n <= 0:return 0elif n == 1:return 1else:a, b = 0, 1for _ in range(2, n + 1):a, b = b, a + breturn b```7. 案例分析题题目:假设你正在开发一个电子商务网站,你需要设计一个购物车系统。

描述购物车系统应该包含哪些核心功能,并给出一个简单的数据结构设计。

答案:核心功能:- 添加商品到购物车- 从购物车中移除商品- 更新购物车中商品的数量- 计算购物车中商品的总价- 清空购物车数据结构设计:```pythonclass ShoppingCart:def __init__(self):self.items = {} # 商品ID映射到商品对象和数量def add_item(self, product_id, quantity):if product_id in self.items:self.items[product_id]['quantity'] += quantity else:self.items[product_id] = {'product':Product(product_id), 'quantity': quantity}def remove_item(self, product_id):if product_id in self.items:del self.items[product_id]def update_quantity(self, product_id, quantity):if product_id in self.items:self.items[product_id]['quantity'] = quantitydef calculate_total(self):total = 0for item in self.items.values():total += item['product'].price *item['quantity']return totaldef clear_cart(self):self.items = {}```8. 论述题题目:讨论在软件开发过程中,为什么需要进行代码审查?答案:代码审查是软件开发过程中一个重要的质量保证步骤。

[练习]第五届蓝桥杯计算比赛省赛真题

[练习]第五届蓝桥杯计算比赛省赛真题

标题:武功秘籍小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。

他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。

小明只想练习该书的第81页到第92页的武功,又不想带着整本书。

请问他至少要撕下多少张纸带走?这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。

标题:等额本金小明从银行贷款3万元。

约定分24个月,以等额本金方式还款。

这种还款方式就是把贷款额度等分到24个月。

每个月除了要还固定的本金外,还要还贷款余额在一个月中产生的利息。

假设月利率是:0.005,即:千分之五。

那么,第一个月,小明要还本金1250, 还要还利息:30000 * 0.005,总计1400.00第二个月,本金仍然要还1250, 但利息为:(30000-1250) * 0.005 总计1393.75请问:小明在第15个月,应该还款多少(本金和利息的总和)?请把答案金额四舍五入后,保留两位小数。

注意:32.5,一定要写为:32.50通过浏览器提交答案,这是一个含有小数点和两位小数的浮点数字。

不要写多余内容(例如:多写了“元”或添加说明文字)标题:猜字母把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。

接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。

得到的新串再进行删除奇数位置字母的动作。

如此下去,最后只剩下一个字母,请写出该字母。

答案是一个小写字母,请通过浏览器提交答案。

不要填写任何多余的内容。

标题:大衍数列中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。

它的前几项是:0、2、4、8、12、18、24、32、40、50 ...其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。

以下的代码打印出了大衍数列的前100 项。

int main(){int i;for(i=1; i<100; i++){if(__________________) //填空printf("%d ", i*i/2);elseprintf("%d ", (i*i-1)/2);}printf("\n");}请填写划线部分缺失的代码。

蓝桥杯1431:[蓝桥杯][2014年第五届真题]分糖果Easyonlyonce

蓝桥杯1431:[蓝桥杯][2014年第五届真题]分糖果Easyonlyonce
children[i] /= 2; surge[i] = children[i]; } for (int i = 0; i < n; i++) { children[i] += surge[(i + 1) % n]; if (children[i] % 2 != 0) { cnt++; children[i]++; } } } cout << cnt; //system("pause"); return 0; }
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
蓝桥杯 1431: [蓝桥杯 ][2014年第五届真题 ]分糖果 Easyonlyonce
基本思想:
水题,唯一值得启发的可能也就是传递糖果的过程只需要把最后一个提前保存给第一位小孩即可;
#include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #include<math.h> #include<algorithm> #include<cstring> using namespace std; using std::vector; vector<int>children; vector<int>surge;
bool charge() { for (int i = 1; i < children.size(); i++) { if (children[i] != children[i - 1]) {

蓝桥杯个人赛决赛详细说明(第五届)

蓝桥杯个人赛决赛详细说明(第五届)

第五届“蓝桥杯”全国软件和信息技术专业人才大赛个人赛总决赛决赛安排及注意事项详细说明一、时间安排2014年5月30日和31日个人赛总决赛(电子类)2014年5月31日个人赛总决赛(软件类)2014年6月1日下午颁奖典礼二、决赛报名1、学校报名:决赛报名方式和省赛报名方式基本相同,院校老师须用院校账号登录大赛官网报名系统,筛选省赛获得一等奖进决赛的选手,点击确定后录入决赛带队老师联系方式等相关信息,下载决赛报名表打印后盖章,再上传到报名系统,缴费,报名工作完成。

注意:决赛报名时可更改选手的决赛指导教师,报名完成之后将不能更改,请报名时谨慎决策。

2、个人报名:请登录学生账号点击个人决赛报名,缴费,报名工作完成。

注意:个人报名方式不能设臵指导教师,赛后也不能添加。

报名及缴费截止日期:5月5日。

决赛准考证在考前一周开放下载,请关注官网通知。

三、费用说明1、赛务费:为了便于开展决赛组织工作,决赛所有参赛选手须交纳赛务费300元,每人开具300元正式发票。

赛务费缴费支持的支付方式:公对公转账、邮局汇款、支付宝(学生个人报名只能使用支付宝)。

2、关于外地参赛师生食宿(可选、非强制):对于外地参赛师生,组委会代收100元/人,由会议公司开具发票900元/人,食宿由带队老师自行安排。

注意:各参赛院校只交100元/人即可,千万不要交900元/人,否则退款手续复杂,且耗时较长。

食宿费缴费支持的支付方式:邮局汇款、支付宝,不支持公对公转账。

3、费用收取:决赛交费方式与省赛报名费交费方式一样。

(1)银行转账账号:国信世纪人才服务(北京)有限公司开户银行:中国工商银行北京公主坟支行账户:0200004609200111786(2)邮局汇款收款人:刘佳,北京市海淀区万寿路27号工业和信息化部18#信箱,邮编100846。

(3)支付宝:在报名系统中缴费选择支付宝,然后通过网上银行支付完成交费。

(4)北京赛区可接受支票。

4、发票开具:和预赛相同,需要发票的院校请在报名系统中提交发票申请,赛务和食宿的发票项目均为会务费。

2014第五届蓝桥杯C-C++本科B组试题及答案要点

2014第五届蓝桥杯C-C++本科B组试题及答案要点

2014第五届蓝桥杯C/C++本科B组试题及答案解答:#include<stdio.h>int main(){int x,y;double m=0;for(x=0,y=42;x<35 || x>y;){y = (int)(82.3-2.3*x)/1.9;m= 2.3*x+1.9*y;if(m==82.3)break;x = x+1;y = y-2;}printf("%d\n%d\n",x,y);return0;}解答:#include<stdio.h>#include<math.h>int main(){printf("%d"pow( 2.0 ,10.0 ) + 1); return0;}解答:#include<stdio.h>int sum=0;int f(int a,int b,int c){if(a>0)f(a-1,b,c*2);if(b>0)f(a,b-1,c-1);if(a==0&&b==0&&c==1)sum=sum+1;return sum;}int main(){f(5,9,2);printf("%d",sum);}解答:if(r>0)return i;解答:f(a, rank - 1, row,col+w/2);解答:#include<stdio.h>int main(void){int i,j,k,l;int z;for(i=1;i<10;i++)for(j=1;j<10;j++)for(k=1;k<10;k++)for(l=1;l<10;l++)if(i!=j&&k!=l)if((float)i*k/(j*l)==(float(i*10+k)/(j *10+l))){printf("%d/%d,%d/%d\n",i,j,k,l);z++;}printf("%d",z);return0;}答案:10解答://思路为将蚂蚁的碰撞理解为互相穿过#include<stdio.h>int main(){int n,m=1;int i,j=0,k=0;int a[100],b[100],c[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){if(a[i]<0){b[j]=-a[i];j++;}else{c[k]=a[i];k++;}}if(a[1]<0)a[1]=-a[1];for(i=0;i<j;i++){if(b[i]>a[1])m++;}for(i=0;i<k;i++){if(c[i]<a[1])m++;}printf("%d\n",m);}解答:#include <stdio.h>int n, m, k, count = 0, map[51][51];void dfs(int x, int y, int max, int num){if(x == n || y == m || num > k) return;else if(x == n - 1 && y == m - 1){if(num == k) count++;else if(num == k - 1 && map[n - 1][m - 1] > max) count++;count %= 1000000007;}else{if(map[x][y] > max){dfs(x + 1, y, map[x][y], num + 1);dfs(x, y + 1, map[x][y], num + 1);}dfs(x + 1, y, max, num);dfs(x, y + 1, max, num);}}int main(void){int i, j;scanf("%d%d%d", &n, &m, &k);for(i = 0; i < n; i++){for(j = 0; j < m; j++){scanf("%d", &map[i][j]);}}dfs(0, 0, 0, 0);printf("%d\n", count);return0;}解答:#include <stdio.h>#include <stdlib.h>struct children{int height;int step;}ch[100001], s_ch[100001], temp;void swap(struct children *a, struct children *b){a->step++;b->step++;temp = *a;*a = *b;*b = temp;}int cmp(const void*a, const void*b){return(*(struct children *)a).height - (*(struct children *)b).height;}int main(void){int n, i, j, k, count = 0;scanf("%d", &n);for(i = 0; i < n; i++){scanf("%d", &ch[i].height);ch[i].step = 0;s_ch[i] = ch[i];}qsort(s_ch, n, sizeof(struct children), cmp);for(i = 0; i < n; i++){for(j = i; j < n; j++){if(s_ch[i].height == ch[j].height) break;}for(k = j; k>i; k--){swap(&ch[k], &ch[k - 1]);}}for(int i = 0; i < n; i++)count += (ch[i].step + 1) * ch[i].step / 2;printf("%d\n", count);return0;}。

2014年JAVA蓝桥杯试题集

2014年JAVA蓝桥杯试题集

2014年蓝桥杯JAVA试题集1.问题描述Fibonacci数列的递推公式为:Fn =Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn 也非常大,现在我们想知道,Fn除以10007的余数是多少。

输入格式输入包含一个整数n。

输出格式输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 <= n <= 1,000,000。

使用数组来保存F序列,只保存除10007的余数。

2.问题描述给定圆的半径r,求圆的面积。

输入格式输入包含一个整数r,表示圆的半径。

输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

说明:在本题中,输入是一个整数,但是输出是一个实数。

对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。

实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

样例输入4样例输出50.2654825数据规模与约定1 <= r <= 10000。

提示本题对精度要求较高,请注意π的值应该取较精确的值。

你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。

使用面积公式计算结果。

3.问题描述求1+2+3+...+n的值。

输入格式输入包括一个整数n。

输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。

样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。

一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。

2014第五届蓝桥杯JAVA本科B组试题及答案解析

2014第五届蓝桥杯JAVA本科B组试题及答案解析
3
2 2 4
程序应该输出
4
资源约定
峰值内存消耗 含虚拟机< 256M
CPU消耗< 1000ms
请严格按要求输出 不要画蛇添足地打印类似 “请您输入...”的多余内容。
所有代码放在同一个源文件中 调试通过后 拷贝提交该源码。注意 不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意 主类的名字必须是Main否则按无效代码处理。答案:
else
System.out.print(num[i]);
}
System.out.println();
}
public static boolean judge(char[] num) {
boolean[] bool = new boolean[5];
int size_A = 0, size_2 = 0, size_3 = 0, size_4 = 0;
2342A3A4
请通过浏览器提交答案。“A”一定不要用小写字母a也不要用“1”代替。字符间一定不
要留空格。
答案2342A3A4
public class扑克序列{//这题有病 总共就两种情况 题目还给出了
public static int count = 0;
public static void main(String[] args) {
if(arr[index] == true) { //当在圈里时
if(countNum%2 == 0) { //下标为偶数时
arr[index] = false; //该字母退出圈子
leftCount --; //剩余字母数目减一
} countNum++;
}

历年蓝桥杯省赛B组真题试题

历年蓝桥杯省赛B组真题试题
int i,j; for(i = 0 ; i < 3 ; i ++)
for(j = 0 ; j < 4 ; j ++) flag[i][j] = 1;
flag[0][0] = 0; flag[2][3] = 0; }
void Solve() {
int dir[8][2] = { 0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1}; int book = true; for(int i = 0 ; i < 3 ; i ++) {
int main() {
int i; int a[] = {5,13,6,24,2,8,19,27,6,12,1,17}; int N = 12;
quicksort(a, 0, N -1);
for(i=0; i<N; i++) printf("%d ", a[i]); printf("\n");
return 0; }
num[n]=0;
}
}
}
int main() {
memset(num,0,sizeof(num)); memset(visit,0,sizeof(visit)); dfs(1); cout<<sum; return 0; }
4 / 19
(4) 快速排序
历年蓝桥杯省赛 B 组真题试题
排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。
if(!visit[i]) {
visit[i] = true; mpt[x][y] = i; dfs(index+1); visit[i] = false; } } } else { dfs(index+1); } } int main() { init(); dfs(0); printf("%d\n",ans); return 0; }

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

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

第五届省赛1.一个串的子串是指该串的一个连续的局部。

如果不要求连续,则可称为它的子序列。

比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。

特别地,一个串本身,以及空串也是它的子序列。

对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。

以下代码实现了这个问题的求解。

请填写划线部分缺失的代码。

注意:只填写划线部分缺少的内容,不要填写任何多余的符号或注释、说明等。

例如,不要填写已经给出的小括号。

inline max(int a, int b){return a>b?a:b;}int f(char* x, char* y){if(strlen(x)==0) return 0;if(strlen(y)==0) return 0;if(*x == *y) return f(x+1, y+1) + 1;return max( ______________________ );//处理字符串}int main(){printf("%d\n", f("ac","abcd")); //2printf("%d\n", f("acebbcde1133","xya33bc11de")); //5return 0;}f(x+1,y),f(x,y+1)2.历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:pai = 4*(1-1/3+1/5-1/7 ....)参见【图1.png】这个公式简单而优美,但美中不足,它收敛的太慢了。

如果我们四舍五入保留它的两位小数,那么:累积了1项和是:4.00累积了2项和是:2.67累积了3项和是:3.47。

2014年第五届蓝桥杯大赛软件类决赛真题(JAVA高职组)

2014年第五届蓝桥杯大赛软件类决赛真题(JAVA高职组)

小明和他的表弟一起去看电影,有人问他们的年龄。

小明说:今年是我们的幸运年啊。

我出生年份的四位数字加起来刚好是我的年龄。

表弟的也是如此。

已知今年是2014年,并且,小明说的年龄指的是周岁。

请推断并填写出小明的出生年份。

2、出栈次序(结果填空,35分)X星球特别讲究秩序,所有道路都是单行线。

一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。

路边有个死胡同,只能容一辆车通过,是临时的检查站,如图【p1.png】所示。

X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。

如果车辆进入检查站和离开的次序可以任意交错。

那么,该车队再次上路后,可能的次序有多少种?为了方便起见,假设检查站可容纳任意数量的汽车。

显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5种。

现在足足有16辆车啊,亲!需要你计算出可能次序的数目。

正整数可以表示为若干正整数的累加和。

如,对于正整数n=6,可以分划为:65+14+24+1+13+33+2+13+1+1+12+2+22+2+1+12+1+1+1+11+1+1+1+1+1现在的问题是,对于给定的正整数n,计算出所有划分情况。

下面的代码实现了这个功能。

仔细分析,填写划线部分缺失的代码。

public class MyTest{ public static List fen(int n, int limit){Vector v = new Vector();if(n<=limit) v.add(n);for(int i=1; i<n; i++){if(n-i > limit) continue;List t = fen(i,n-i);for(int k=0; k<t.size(); k++)__________________________; //填空位置}return v;}public static void main(String[] args){List v = fen(6,6);for(int i=0; i<v.size(); i++)System.out.println(v.get(i));}}X博士正在研究一种生物芯片,其逻辑密集度、容量都远远高于普通的半导体芯片。

【2017年整理】第五届蓝桥杯预赛题目及答案

【2017年整理】第五届蓝桥杯预赛题目及答案

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请分析程序流程,填写划线部分缺少的代码。

2014年第五届蓝桥杯软件类省赛真题_Java高职

2014年第五届蓝桥杯软件类省赛真题_Java高职

例如, 输入:
5 6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 L 5
程序应该输出:
1 3
再例如, 输入:
3 3
0 0 0
1 1 1
1 1 1
1 1 U 6
程序应该输出:
0 0
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms
注意:主类的名字必须是:Main,否则按无效代码处理。
Java高职
1_题目
标题:猜年龄
小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”
请你写出:小明的较小的妹妹的年龄。
注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
Java高职
9_题目
标题:地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。
以下的代码打印出了大衍数列的前 100 项。
for(int i=1; i<100; i++)
{
if(________________) //填空

蓝桥杯2014软件类-北京赛区获奖名单

蓝桥杯2014软件类-北京赛区获奖名单

李瑶 彭兴硕 林浩宇 刘嘉明 孙健 王洋 史博文 陈全保 张丞 张旭 李璐明 侯立夫 王政飞 刘今朝 贾宸鉴 王灿雍 李宝达 董岩 龚昕悦 刘畅 高源 王笑 王健岚 林璞雍 李嘉 徐彦龙 徐恒远 付宇豪 路尔辰 王嘉璐 闫琦 顾正之 白寒 李文斌 李梦佳 刘鑫 李世先 王芊霓 刘毅博 袁政 赵轩昂 薛亚杰 金胜莺 李业树 李睿霖 赵海宇 董适
第五届“蓝桥杯”全国软件和信息技术专业人才大赛--个人赛省赛(软件类) 北京赛区获奖名单
省份 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京 北京
准考证号 214010 223966 214834 214809 214836 221856 214831 247373 214835 247230 246567 232635 247421 247526 223890 245983 217310 245879 247608 245888 247767 245186 237871 245188 214833 217785 245980 218836 246728 202192 243229 202282 202369 238531 203756
240513 240585 218509 240627 240830 219504 221190 220724 219414 240562 239219 219513 241212 221222 221188 221228 232333 240544 221218 221226 240884 240872 222906 241220 241175 220713 221223 240548 240560 241174 240545 241263 229668 240764 241569 221237 240584 241192 221214 221230 240624 241233 220752 240605 240902 241136 232898

第五届蓝桥杯试题答案

第五届蓝桥杯试题答案
15.if(fabs( (i*10 + r)*1.0/(j*10+k) - (i*r*1.0)/(j*k)) < eps){
16.//printf("%d/%d : %d/%d\n", (i*10 + r),(j*10+k), i*r,(j*k));
17.ans++;
18.}
19.}
20.}
21.}
{
if(a[14]=='b'&&wine==0)
{
count++;
show(a,15);
}
return;
}
a[i] = 'a';
drink(i+1,store+1,flower,wine*2); //逢店加一倍
a[i] = 'b';
drink(i+1,store,flower+1,wine-1); //遇花喝一斗
{
sum+=l; //给累加数列当前值
if(f==0) //当数列长度递减为0,进行判断
{
sum-=l; //sum减去当前数列值
if(sum==s) //如果sum等于数列和值
{
cnt++; //累加器加1
cnt%=mo;
}
return 0 ; //返回
}
Conut(l+a,f-1,sum);
Conut(l-b,f-1,sum);
if(m==82.3)
break;
x = x+1;
y = y-2;
}
printf("%d\n%d\n",x,y);

[蓝桥杯][2014年第五届真题]分糖果

[蓝桥杯][2014年第五届真题]分糖果

[蓝桥杯][2014年第五届真题]分糖果题⽬描述:问题描述:有n个⼩朋友围坐成⼀圈。

⽼师给每个⼩朋友随机发偶数个糖果,然后进⾏下⾯的游戏:每个⼩朋友都把⾃⼰的糖果分⼀半给左⼿边的孩⼦。

⼀轮分糖后,拥有奇数颗糖的孩⼦由⽼师补给1个糖果,从⽽变成偶数。

反复进⾏这个游戏,直到所有⼩朋友的糖果数都相同为⽌。

你的任务是预测在已知的初始糖果情形下,⽼师⼀共需要补发多少个糖果。

输⼊程序⾸先读⼊⼀个整数N(2< N< 100),表⽰⼩朋友的⼈数。

接着是⼀⾏⽤空格分开的N个偶数(每个偶数不⼤于1000,不⼩于2)输出要求程序输出⼀个整数,表⽰⽼师需要补发的糖果数。

样例输⼊32 2 4样例输出4题意解析:1、偶数个糖:这⾥偶数个糖可分为两部分分别是:I、初始化赋值为偶数II、⽼师额外分配为偶数(num++);2、分糖:将⼀半的糖分给左⼿边的孩⼦:I、简化为直接分给下⼀个⼩孩;II、每个⼩孩的糖数分⼀半给下⼀个并且从上⼀个⼩孩那得到他的⼀半糖;i)是先从别⼈那得到他的⼀半糖后,再将现在的糖数分⼀半给下⼀个⼈,,还是所有⼈先分⼀半糖出来,每个⼈都前⼀个⼈那拿⾛他的⼀半糖?(这两种计算⽅式结果不同,也是本题解题关键;简化后即:先 + 再 / 还是先 / 再 + );3、判断糖数是否相等:I、不相等,跳转到第⼀条第⼆点(1.II),向下执⾏,II、相等,跳出循环,输出num;图解2.II.i:代码实现:#include <stdio.h>#define N 100void main() {int i, n, num = 0, a[N], t;scanf("%d", &n);for (i = 0; i < n; i++) {//scanf("%d", &a[i]);}for (;;) {for (i = 1; i < n; i++) {//i从1开始,表⽰a[0]直接判断与a[1]是否相等,跳过a[0]与a[0]⽐较;if (a[0] != a[i]) {break;//如果第⼀个⼩孩糖的数量与其他⼩孩糖的数量不相等,跳出for循环,往下执⾏}//如果没有进⼊if判断语句,说明所有⼩孩糖数相等,for循环从1执⾏到n-1;}if (i == n) {//接上for循环,当for循环执⾏完了以后,进⾏的操作是i++,此时i = n;所以可以拿来作为结束外循环条件;break;//跳出外层循环}for (i = 0; i < n; i++) {//判断是否有奇数个糖,奇数+1,偶数不变;if (a[i] % 2 == 1) {a[i]++;num++;}}t = a[n - 1];//下⾯分糖实按从后向前遍历,因此最后⼀个⼩孩的糖数在最开始就会改变,⽆法给第⼀个⼩孩赋值,因此需要保存下来; for (i = n - 1; i > 0; i--) {//,分糖(除以2)、得糖(+前⼀个⼈的1/2);a[i] = a[i] / 2 + a[i - 1] / 2;}a[0] = a[0] / 2 + t / 2;//给第⼀个同学实现分糖、得糖;}printf("%d", num);}其中,在分糖和得糖那步可以实现⼩的优化:前⾯代码不变,在判断奇偶时让所有同学的糖数⼀分为⼆;for ( i = 0; i < n; i++){if (a[i]%2==1){a[i]++;sum++;}a[i] /= 2;}temp = a[n - 1];for ( i = n-1; i >0; i--){//a[i] = a[i] / 2 + a[i - 1] / 2; a[i] += a[i - 1];}//a[0] = a[0] / 2 + temp / 2; a[0] += temp;}。

第五届蓝桥杯省赛b组试题及答案

第五届蓝桥杯省赛b组试题及答案

第五届蓝桥杯省赛b组试题及答案第五届蓝桥杯省赛B组试题及答案一、选择题(每题5分,共20分)1. 下列哪个选项是Python语言中用于定义函数的关键字?A. defB. functionC. funcD. declare答案:A2. 在HTML中,用于定义最重要的标题的标签是?A. <h1>B. <title>C. <header>D. <h6>答案:A3. 在JavaScript中,以下哪个方法用于获取数组中最后一个元素?A. last()B. first()C. pop()D. lastElement()答案:C4. 在CSS中,以下哪个属性用于设置元素的背景颜色?A. background-colorB. bg-colorC. colorD. back-color答案:A二、填空题(每题5分,共20分)1. 在Python中,用于执行条件判断的关键字是________。

答案:if2. 在HTML中,用于创建无序列表的标签是________。

答案:<ul>3. 在JavaScript中,用于获取当前日期的函数是________。

答案:new Date()4. 在CSS中,用于设置文本颜色的属性是________。

答案:color三、简答题(每题10分,共20分)1. 请解释什么是闭包,并给出一个简单的JavaScript闭包示例。

答案:闭包是一个函数和其周围的状态(词法环境)的组合。

闭包允许函数访问其定义时的作用域链,即使在其定义的作用域外执行。

示例:```javascriptfunction createClosure() {var secret = "I'm a secret";return function() {console.log(secret);};}var myClosure = createClosure();myClosure(); // 输出:I'm a secret```2. 请简述HTML5和HTML4的主要区别。

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

C/C++程序设计本科B组省赛1.标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。

小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

2.标题:切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

3.标题:李白打酒话说大诗人李白,一生好饮。

幸好他从不开车。

一天,他提着酒壶,从家里出来,酒壶中有酒2斗。

他边走边唱:无事街上走,提壶去打酒。

逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。

则:babaabbabbabbbb 就是合理的次序。

像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

注意:通过浏览器提交答案。

答案是个整数。

不要书写任何多余的内容。

4.标题:史丰收速算史丰收速算法的革命性贡献是:从高位算起,预测进位。

不需要九九表,彻底颠覆了传统手算!速算的核心基础是: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请分析程序流程,填写划线部分缺少的代码。

//计算个位int ge_wei(int a){if(a % 2 == 0)return (a * 2) % 10;Elsereturn (a * 2 + 5) % 10;}//计算进位int jin_wei(char* p){char* level[] = {"142857","285714","428571","571428","714285","857142"};char buf[7];buf[6] = '\0';strncpy(buf,p,6);int i;for(i=5; i>=0; i--){int r = strcmp(level[i], buf);if(r<0) return i+1;while(r==0){p += 6;strncpy(buf,p,6);r = strcmp(level[i], buf);if(r<0) return i+1;______________________________; //填空}}return 0;}//多位数乘以7void f(char* s){int head = jin_wei(s);if(head > 0) printf("%d", head);char* p = s;while(*p){int a = (*p-'0');int x = (ge_wei(a) + jin_wei(p+1)) % 10;printf("%d",x);p++;}printf("\n");}int main(){f("428571428571");f("34553834937543");return 0;}注意:通过浏览器提交答案。

只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字)5.标题:打印图形小明在X星球的城堡中发现了如下图形和文字:rank=3** ** ** * * *rank=5** ** ** * * ** ** * * ** * * ** * * * * * * ** ** * * ** * * ** * * * * * * ** * * ** * * * * * * ** * * * * * * ** * * * * * * * * * * * * * * *ran=6** ** ** * * ** ** * * ** * * ** * * * * * * ** ** * * ** * * ** * * * * * * ** * * ** * * * * * * ** * * * * * * ** * * * * * * * * * * * * * * ** ** * * ** * * ** * * * * * * ** * * ** * * * * * * ** * * * * * * ** * * * * * * * * * * * * * * ** * * ** * * * * * * ** * * * * * * ** * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *小明开动脑筋,编写了如下的程序,实现该图形的打印。

#define N 70void f(char a[][N], int rank, int row, int col){if(rank==1){a[row][col] = '*';return;}int w = 1;int i;for(i=0; i<rank-1; i++) w *= 2;____________________________________________;f(a, rank-1, row+w/2, col);f(a, rank-1, row+w/2, col+w);}int main(){char a[N][N];int i,j;for(i=0;i<N;i++)for(j=0;j<N;j++) a[i][j] = ' ';f(a,6,0,0);for(i=0; i<N; i++){for(j=0; j<N; j++) printf("%c",a[i][j]);printf("\n");}return 0;}请仔细分析程序逻辑,填写缺失代码部分。

通过浏览器提交答案。

注意不要填写题目中已有的代码。

也不要写任何多余内容(比如说明性的文字)6.标题:奇怪的分式上小学的时候,小明经常自己发明新算法。

一次,老师出的题目是:1/4 乘以8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。

显然,交换分子分母后,例如:4/1 乘以5/8 是满足要求的,这算做不同的算式。

但对于分子分母相同的情况,2/2 乘以3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。

请通过浏览器提交。

不要书写多余的内容。

7.标题:六角填数如图【1.png】所示六角形中,填入1~12的数字。

使得每条直线上的数字之和都相同。

图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。

8.标题:蚂蚁感冒长100厘米的细长直杆子上有n只蚂蚁。

它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有1只蚂蚁感冒了。

并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。

【数据格式】第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。

接着的一行是n个用空格分开的整数Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。

正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。

其中,第一个数据代表的蚂蚁感冒了。

要求输出1个整数,表示最后感冒蚂蚁的数目。

例如,输入:35 -2 8程序应输出:1再例如,输入:5-10 8 -20 12 25程序应输出:3资源约定:峰值内存消耗< 256MCPU消耗< 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

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

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

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

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

9.标题:地宫取宝X 国王有一个地宫宝库。

是n x m 个格子的矩阵。

每个格子放一件宝贝。

每个宝贝贴着价值标签。

地宫的入口在左上角,出口在右下角。

小明被带到地宫的入口,国王要求他只能向右或向下行走。

走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。

当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。

请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝。

【数据格式】输入一行3个整数,用空格分开:n m k (1<=n,m<=50, 1<=k<=12)接下来有n 行数据,每行有m 个整数Ci (0<=Ci<=12)代表这个格子上的宝物的价值要求输出一个整数,表示正好取k个宝贝的行动方案数。

该数字可能很大,输出它对1000000007 取模的结果。

例如,输入:2 2 21 22 1程序应该输出:2再例如,输入:2 3 21 2 32 1 5程序应该输出:14资源约定:峰值内存消耗< 256MCPU消耗< 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

相关文档
最新文档