第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛 C/C++高职高专组 1、题目标题: 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。 通过浏览器,直接提交他那时的年龄数字。 注意:不要提交解答过程,或其它的说明文字。 2、标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是: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 这样的算式一共有多少种呢? 请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。 满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。 答案直接通过浏览器提交。 注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。 3、标题: 振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从 我 做 起 振 我 做 起 振 兴 做 起 振 兴 中 起 振 兴 中 华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢? 答案是一个整数,请通过浏览器直接提交该数字。 注意:不要提交解答过程,或其它辅助说明类的内容。 a=从 b=我 c=做 d=起 e=振 f=兴 g=中 h=华 4、标题: 幻方填空 幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。 欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。 他把1,2,3,...16 这16个数字填写在4 x 4的方格中。 如图p1.jpg所示,即: 16 ? ? 13 ? ? 11 ? 9 ? ? * ? 15 ? 1 表中有些数字已经显露出来,还有些用?和*代替。 请你计算出? 和 * 所代表的数字。并把 * 所代表的数字作为本题答案提交。 答案是一个整数,请通过浏览器直接提交该数字。 注意:不要提交解答过程,或其它辅助说明类的内容。 5、题目标题:公约数公倍数 我们经常会用到求两个整数的最大公约数和最小公倍数的功能。 下面的程序给出了一种算法。 函数 myfunc 接受两个正整数a,b 经过运算后打印出 它们的最大公约数和最小公倍数。 此时,调用 myfunc(15,20) 将会输出: 3 60 // 交换数值 void swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } void myfunc(int a, int b) { int m,n,r; if(a<b) swap(&a,&b); m=a;n=b;r=a%b; while(r!=0) { a=b;b=r; r=a%b; } printf("%d\n",b); // 最大公约数 printf("%d\n", ____________________________________); // 最小公倍数 } 请分析代码逻辑,并推测划线处的代码,通过网页提交。 注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!! 6、标题:三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 void sort3p(int* x, int len) { int p = 0; int left = 0; int right = len-1; while(p<=right){ if(x[p]<0){ int t = x[left]; x[left] = x[p]; x[p] = t; left++; p++; } else if(x[p]>0){ int t = x[right]; x[right] = x[p]; x[p] = t; right--; } else{ __________________________; //填空位置 } } } 如果给定数组: 25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0 0 ,18,-2,0,16,-5,33,21,0,19,-16,25,-3,25 则排序后为: -3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25 请分析代码逻辑,并推测划线处的代码,通过网页提交 注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!! 7、标题:核桃的数量 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛) 程序从标准输入读入: a b c a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30) 程序输出: 一个正整数,表示每袋核桃的数量。 例如: 用户输入: 2 4 5 程序输出: 20 再例如: 用户输入: 3 1 1 程序输出: 3 资源约定: 峰值内存消耗(含虚拟机) < 64M CPU消耗 < 1000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。 注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 8、题目标题:打印十字图 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg) $$$$$$$$$$$$$ $ $ $$$ $$$$$$$$$ $$$ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $$$ $$$$$$$$$ $$$ $ $ $$$$$$$$$$$$$ 对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。 为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。 输入格式: 一个正整数 n (n<30) 表示要求打印图形的层数 输出: 对应包围层数的该标志。 例如: 用户输入: 1 程序应该输出: ..$$$$$.. ..$...$.. $$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$ ..$...$.. ..$$$$$.. 再例如: 用户输入: 3 程序应该输出: ..$$$$$$$$$$$$$.. ..$...........$.. $$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$ ..$...........$.. ..$$$$$$$$$$$$$.. 请仔细观察样例,尤其要注意句点的数量和输出位置。 资源约定: 峰值内存消耗 < 64M CPU消耗 < 1000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。 注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 9、标题:带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 题目要求: 从标准输入读入一个正整数N (N<1000*1000) 程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。 注意:不要求输出每个表示,只统计有多少表示法! 例如: 用户输入: 100 程序输出: 11 再例如: 用户输入: 105 程序输出: 6 资源约定: 峰值内存消耗 < 64M CPU消耗 < 3000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。 注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 10、标题:剪格子 如图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 <xxx>, 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 这些题目来自于第四届“蓝桥杯”全国软件专业人才设计与创业大赛的C/C++高职高专组竞赛,涵盖了一系列的编程与数学问题。以下是各题目的解析: 1. **猜年龄**:根据题目描述,美国数学家维纳年龄的立方是4位数,4次方是6位数,且这10个数字各不相同。可以通过枚举3位数的立方和4位数的平方根来找出符合条件的年龄。 2. **马虎的算式**:此题需要找出所有满足ab * cde = adb * ce形式的算式,其中a、b、c、d、e互不相同,且为1至9的整数。这涉及到数字组合和乘法运算的性质,可以利用计算机编程解决。 3. **振兴中华**:这是一个关于路径规划的问题,要求从“从”字跳到“华”字,且路径上的字顺序正确。可以采用深度优先搜索或广度优先搜索的方法来解决,确保路径的合法性。 4. **幻方填空**:这是一道关于幻方的问题,需要找到缺失的数字。可以通过求和和回溯算法来填充缺失的值,确保行、列和对角线的和相等。 5. **公约数公倍数**:已给出了求最大公约数的欧几里得算法,需要填写最小公倍数的计算方法。最小公倍数是两数乘积除以最大公约数,所以应填写`printf("%d\n", a*b/b);`。 6. **三部排序**:这是一个排序问题,要求负数在前,0在中间,正数在后,且每部分内部无需排序。题目提供了部分代码,通过双指针方法可以实现这个排序,空缺处填写`p++;`即可。 7. **核桃的数量**:这个问题需要找到能被三个整数整除的最小正整数,即求三个数的最大公约数。可以使用辗转相除法或更相减损术求解。 8. **打印十字图**:根据输入层数,输出特定形状的字符图案。可以递归或者循环实现,用句点替换空格。 9. **带分数**:寻找特定数字表示为1到9不重复的带分数的总数。可以通过回溯法或者动态规划解决。 10. **剪格子**:判断给定矩阵是否可以分割成两个和相等的部分。可以使用递归或动态规划策略来解决,确保包含左上角格子的区域最小。 这些问题涉及到的编程知识点包括但不限于:数学推理、搜索算法、排序算法、动态规划、回溯法、数论(最大公约数和最小公倍数)、递归、矩阵处理等。参赛者需要具备扎实的C/C++编程基础和良好的问题解决能力。
剩余12页未读,继续阅读
- qq_214980332014-12-09蓝桥杯的,好东西。
- 萤火2013-11-21希望能有用到,自己可以看着练习
- 粉丝: 14
- 资源: 47
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (2025)行政单位会计制度知识竞赛题(含答案).docx
- (2025)汉字听写大会竞赛题库(含答案).docx
- (2025)行政诉讼法知识竞赛必刷题库及答案.docx
- (2025)红十字初级急救员证考试题及答案.docx
- (2025)会计电算化考试试题(含答案).docx
- (2025)会计基础考试题库及答案(带答案解析).docx
- (2025)机电标准化考试试题(含答案).docx
- (2025)基本公共卫生服务项目考试题库及答案.docx
- (2025)机关事业单位《工人技术职业道德》等级考核题库及答案.docx
- (2025)计算机基础理论信息安全基本知识试题及答案.docx
- (2025)计算机二级考试全真试题库及答案(通用版).docx
- (2025)计算机网络技术考试题及答案.docx
- (2025)见证取样员考试试题(带答案).docx
- (2025)监理工程师《案例分析》考试题库及答案.docx
- (2025)见证取样员考试题库及答案.docx
- 英伟达半导体科技(上海)有限公司创投信息