历年蓝桥杯省赛B组真题试题
历年蓝桥杯省赛B组真题试题1
(1)煤球数目有一堆煤球,堆成三角棱锥形。
具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),如果一共有100层,共有多少个煤球?题解:纯粹的数学题而已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);(2)生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。
题解:暴力枚举。
第一重循环枚举刚开始过生日时候的岁数。
第二重循环是枚举现在的岁数第三重循环就是将刚开始过生日的岁数和现在的岁数加起来。
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); (3)B DEFA + — + —— = 10C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?//29题解:DFS+回溯由于计算机中5/2会等于2,而且如果打算采用精度方面的处理的话,会很麻烦,而且很容易错。
第六届蓝桥杯大赛个人赛省赛(软件类)Java 大学B组试题
第六届蓝桥杯大赛个人赛省赛(软件类)Java 大学B组试题三角形面积如图1所示。
图中的所有小方格面积都是1。
那么,图中的三角形面积应该是多少呢?请填写三角形的面积。
不要填写任何多余内容或说明性文字。
立方变自身观察下面的现象,某个数字的立方,按位累加仍然等于自身。
1^3 = 18^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。
三羊献瑞观察下面的加法算式:祥瑞生辉+ 三羊献瑞-------------------三羊生瑞气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。
比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。
下面的方法,可以求出循环节的长度。
请仔细阅读代码,并填写划线部分缺少的代码。
public static int f(int n, int m){n = n % m;V ector v = new V ector();for(;;){v.add(n);n *= 10;n = n % m;if(n==0) return 0;if(v.indexOf(n)>=0)_______System.out.println(v.indexOf(n))__________________________ ; //填空}}注意,只能填写缺少的部分,不要重复抄写已有代码。
不要填写任何多余的文字。
九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。
第十一届蓝桥杯真题及答案
第十一届蓝桥杯C++省赛B组真题和题解试题A:门牌制作题目【问题描述】小蓝要为一条街的住户制作门牌号。
这条街一共有2020位住户,门牌号从1到2020编号。
小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。
请问要制作所有的1到2020号门牌,总共需要多少个字符2?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解答案:624#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <queue>#include <stack>#include <set>#include <cmath>#include <iostream>using namespace std;const int INF = 1e9;int cnt;void cal(int x){while(x){if(x % 10 == 2) cnt++;x /= 10;}}int main(){for(int i = 1; i <= 2020; i++){ cal(i);}cout << cnt;return 0;}试题B:既约分数题目【问题描述】如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。
例如,3/4,5/2,1/8,7/1都是既约分数。
请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020)?【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
蓝桥杯例题
1.蓝桥杯全国软件和信息技术专业人才大赛是由哪个部门主办的?A.教育部(答案)B.科技部C.工业和信息化部D.国家发展和改革委员会2.蓝桥杯大赛主要考察参赛者的哪些能力?A.编程和算法设计能力(答案)B.市场营销能力C.团队协作能力D.演讲能力3.蓝桥杯大赛通常分为哪些组别进行比赛?A.大学A组、大学B组和大学C组(答案)B.初级组、中级组和高级组C.青少年组、成人组和大师组D.企业组、学校组和个人组4.在蓝桥杯大赛中,以下哪种编程语言是常用的?A.C/C++(答案)B.Python(虽然Python也常被使用,但在此处作为非唯一或首选答案)C.Java(Java也是常用语言,但同样非首选答案)D.JavaScript5.蓝桥杯大赛的获奖者通常可以获得哪些奖励?A.奖金、证书和学校加分(答案)B.实物奖品、旅游机会和荣誉称号C.股票、期权和就业机会D.学术期刊发表机会6.蓝桥杯大赛的参赛资格通常要求参赛者是什么身份?A.在校大学生(答案)B.企业员工C.专业程序员D.无特定身份要求7.在蓝桥杯大赛中,以下哪个环节不是必须的?A.提交代码并运行通过测试((答案,此选项描述了一个通常情况,但并非所有题目都需提交并运行代码,而是根据题目要求可能只需提交答案或解题思路)B.理解题目要求C.设计算法或解决方案D.在规定时间内完成题目8.蓝桥杯大赛的题目难度通常是如何分布的?A.从易到难,逐步增加(答案)B.所有题目难度相同C.难度随机分布D.先难后易9.参加蓝桥杯大赛对参赛者未来的职业发展有哪些帮助?A.提升编程技能和算法设计能力,增加就业竞争力(答案)B.直接获得高薪工作机会C.获得学术研究成果D.无需进一步学习即可成为专家10.蓝桥杯大赛的举办周期是多久?A.每年一届(答案)B.每两年一届C.每季度一届D.每月一届。
大学生蓝桥杯试题及答案
大学生蓝桥杯试题及答案一、选择题(每题2分,共20分)1. 在计算机科学中,通常用什么来表示一个算法的效率?A. 时间复杂度B. 空间复杂度C. 算法的可读性D. 算法的可维护性答案:A2. 下列哪种数据结构在插入和删除操作时不需要移动其他元素?A. 链表B. 数组C. 栈D. 队列答案:A3. 以下哪个选项是面向对象编程的三个基本特征?A. 封装、继承、多态B. 抽象、封装、继承C. 继承、封装、多态D. 封装、继承、抽象答案:A4. 在HTML中,用于定义最重要的标题的标签是什么?A. <h1>B. <h6>C. <title>D. <header>答案:A5. 在数据库管理系统中,用于从数据库中检索数据的SQL语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 在Java中,用于定义一个类的方法的关键字是什么?A. classB. methodC. functionD. public答案:D7. 在C语言中,用于声明一个变量为静态存储的关键字是什么?A. staticB. externC. registerD. auto答案:A8. 在Python中,用于定义一个函数的关键字是什么?A. defB. functionC. methodD. class答案:A9. 在操作系统中,用于管理进程的调度和资源分配的组件是什么?A. 文件系统B. 内存管理C. 进程管理器D. 设备驱动程序答案:C10. 以下哪个协议是用于在互联网上发送电子邮件的?A. HTTPB. FTPC. SMTPD. TCP答案:C二、填空题(每题2分,共20分)1. 在计算机科学中,________是用来衡量算法在最坏情况下执行时间的量度。
答案:时间复杂度2. 在数据结构中,________是一种允许在任意位置插入和删除数据的线性数据结构。
历届蓝桥杯试题及答案
历届蓝桥杯试题及答案蓝桥杯是中国最有影响力的计算机竞赛之一,每年都会吸引众多计算机科学爱好者的参与。
本文将回顾历届蓝桥杯的试题,并给出相应的答案。
通过了解历届试题,可以帮助读者更好地准备参加蓝桥杯竞赛。
(此处省略介绍部分)第一届蓝桥杯试题及答案:试题一:(试题内容)(解答步骤)试题二:(试题内容)(解答步骤)试题三:(试题内容)(解答步骤)......第二届蓝桥杯试题及答案:试题一:(试题内容)(解答步骤)试题二:(试题内容)(解答步骤)试题三:(试题内容)(解答步骤)......随着届数的增加,蓝桥杯的试题逐渐增加了难度和复杂程度。
参赛者需要有扎实的计算机基础知识和编程技能才能应对这些挑战。
以下是蓝桥杯历届试题的一些特点总结:1. 试题内容涵盖广泛:蓝桥杯试题从计算机基础知识到算法设计,从编程练习到系统设计,几乎涵盖了计算机科学的各个领域。
2. 试题形式多样:蓝桥杯试题不仅有传统的选择题和编程题,还有设计题、开放题等形式。
这样的设计旨在考察参赛者的创新能力和综合运用能力。
3. 解答步骤详细:对于编程题和算法设计题,蓝桥杯试题答案中往往会给出详细的解答步骤,包括思路分析、代码实现等。
这对于参赛者来说是很好的学习资料。
通过研究历届蓝桥杯试题和答案,我们可以总结出以下参加蓝桥杯竞赛的一些建议:1. 扎实的基础知识:参赛者应该有扎实的计算机基础知识,包括数据结构、算法、编程语言等方面。
只有基础知识扎实,才能更好地应对复杂的试题。
2. 练习编程技巧:编程技巧是参赛者必备的能力,需要不断进行练习和实践。
可以通过刷题、参加编程比赛等方式来提高编程技巧。
3. 团队合作能力:蓝桥杯竞赛有团队赛和个人赛两种形式,参赛者可以选择适合自己的方式。
无论是个人赛还是团队赛,团队合作能力都是必不可少的。
在团队中合理分工、有效沟通,可以提高比赛的效果。
4. 多方面准备:蓝桥杯试题范围广泛,参赛者应该在各个方面进行准备,包括理论知识、实践能力、应试技巧等。
第十三届蓝桥杯pythonB组真题
第十三届蓝桥杯pythonB组真题1、.从当前页放映演示文稿的组合键是()。
[单选题] *A. Shift+FB. Shift+F(正确答案)C. Shift+F2、46.移动硬盘或优盘连接计算机所使用的接口通常是()。
[单选题] *A.RS-232C接口B.并行接口B(正确答案)D.UBS3、D:读盘控制器的功能是______。
[单选题] *A:指挥、协调计算机各相关硬件工作(正确答案)B:指挥、协调计算机各相关软件工作C:指挥、协调计算机各相关硬件和软件工作4、微软公司的Microsoft Office 属于应用软件中的()。
[单选题] *A.程序库B.软件包C.套装软件(正确答案)D.用户自己开发的软件5、IP 地址块.../ 的子网掩码可写为()。
中[单选题] *A....B....C....(正确答案)D....6、在计算机局域网中,普遍采用的是()进行差错检测控制。
中[单选题] * A.垂直冗余检验B.循环冗余检验(正确答案)C.水平冗余检验D.校验和7、C:SRAM内存条,CD-ROM驱动器,扫描仪D:优盘,内存储器,硬盘下面关于操作系统的叙述中,正确的是______。
[单选题] *A:操作系统是计算机软件系统中的核心软件(正确答案)B:操作系统属于应用软件8、1根据冯.诺依曼原理,准确地说计算机硬件各部件如何动作具体是由()决定的。
[单选题] *A.存储器中的内容B.操作系统C.用户D.CPU 中所执行的指令(正确答案)9、如果子网掩码是...,那么主机... 所在的驻留子网是()。
中[单选题] *A....B....C....(正确答案)D....10、73.以.jpg为扩展名的文件通常是()[单选题] *A.文本文件B.音频信号文件C.图像文件(正确答案)D.视频信号文件11、Internet 使用的协议是()。
易[单选题] *A.IPX/SPXB.NCPC.TCP/IP(正确答案)BIOS12、28.目前广泛使用的Internet,其前身可追溯到()[单选题] *A.ARPANET(正确答案)B.CHINANETC.DECnetD.NOVELL13、16.在Internet.上浏览时,浏览器和Www服务器之间传输网页使用的协议是()。
第六届蓝桥杯JavaB组——第3题三羊献瑞(递归全排列)
第六届蓝桥杯JavaB组——第3题三⽺献瑞(递归全排列)注意点:数字的开头不能为0即可Java代码1package nqiaosix.p3;23/**4 * @Author LZP5 * @Date 2021/3/7 13:296 * @Version 1.07 *8三⽺献瑞910观察下⾯的加法算式:1112祥瑞⽣辉13+ 三⽺献瑞14-------------------15三⽺⽣瑞⽓1617(如果有对齐问题,可以参看【图1.jpg】)1819其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
2021请你填写“三⽺献瑞”所代表的4位数字(答案唯⼀),不要填写任何多余内容。
222324int xiang; -----025int rui; -----126int sheng; -----227int hui; -----328int san; -----429int yang; -----530int xian; -----631int qi; -----732*/33public class Main {34private static int[] arr = new int[8];35private static int[] dp = new int[10];36public static void main(String[] args) {37 f(0);38 }3940public static void f(int index) {41if (index == 8) {4243if (arr[0] == 0 || arr[4] == 0) {44return;45 }4647// 祥瑞⽣辉48int a1 = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];4950// 三⽺献瑞51int a2 = arr[4] * 1000 + arr[5] * 100 + arr[6] * 10 + arr[1];5253// 三⽺⽣瑞⽓54int result = arr[4] * 10000 + arr[5] * 1000 + arr[2] * 100 + arr[1] * 10 + arr[7];5556if (result == a1 + a2) {57 System.out.println("" + arr[4] + arr[5] + arr[6] + arr[1]);58for (int i = 0; i < arr.length; i++) {59 System.out.printf("%d\t", arr[i]);60 }61 System.out.println();62 }6364return;65 }6667for (int i = 0; i < 10; i++) {68if (dp[i] == 0) {69 dp[i] = 1;70 arr[index] = i;71 f(index + 1);72 dp[i] = 0;73 }74 }75 }76 } View Code。
第十二届蓝桥杯省赛B组
第⼗⼆届蓝桥杯省赛B组y总讲解:A.空间#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main(){cout << 256 * 1024 * 1024 / 4 << endl;return0;}//答案:67108864B.卡⽚:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int s[10];bool check(int x){while (x){int t = x % 10;x /= 10;if ( -- s[t] < 0) return false;}return true;}int main(){for (int i = 0; i < 10; i ++ ) s[i] = 2021;for (int i = 1; ; i ++ )if (!check(i)){cout << i - 1 << endl;return0;}return0;}//答案:3181C.直线:#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int N = 200000;int n;struct Line{double k, b;bool operator< (const Line& t) const{if (k != t.k) return k < t.k;return b < t.b;}}l[N];int main(){for (int x1 = 0; x1 < 20; x1 ++ )for (int y1 = 0; y1 < 21; y1 ++ )for (int x2 = 0; x2 < 20; x2 ++ )for (int y2 = 0; y2 < 21; y2 ++ )if (x1 != x2){double k = (double)(y2 - y1) / (x2 - x1);double b = y1 - k * x1;l[n ++ ] = {k, b};}sort(l, l + n);int res = 1;for (int i = 1; i < n; i ++ )if (fabs(l[i].k - l[i - 1].k) > 1e-8 || fabs(l[i].b - l[i - 1].b) > 1e-8) res ++ ;cout << res + 20 << endl;return0;}//答案:40257D.货物摆放:#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;typedef long long LL;int main(){LL n;cin >> n;vector<LL> d;for (LL i = 1; i * i <= n; i ++ )if (n % i == 0){d.push_back(i);if (n / i != i) d.push_back(n / i);}int res = 0;for (auto a: d)for (auto b: d)for (auto c: d)if (a * b * c == n)res ++ ;cout << res << endl;return0;}//答案:2430E.路径:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 2200, M = N * 50;int n;int h[N], e[M], w[M], ne[M], idx;int q[N], dist[N];bool st[N];int gcd(int a, int b) // 欧⼏⾥得算法{return b ? gcd(b, a % b) : a;}void add(int a, int b, int c) // 添加⼀条边a->b,边权为c{e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx ++ ;}void spfa() // 求1号点到n号点的最短路距离{int hh = 0, tt = 0;memset(dist, 0x3f, sizeof dist);dist[1] = 0;q[tt ++ ] = 1;st[1] = true;while (hh != tt){int t = q[hh ++ ];if (hh == N) hh = 0;st[t] = false;for (int i = h[t]; i != -1; i = ne[i]){int j = e[i];if (dist[j] > dist[t] + w[i]){dist[j] = dist[t] + w[i];if (!st[j]) // 如果队列中已存在j,则不需要将j重复插⼊ {q[tt ++ ] = j;if (tt == N) tt = 0;st[j] = true;}}}}}int main(){n = 2021;memset(h, -1, sizeof h);for (int i = 1; i <= n; i ++ )for (int j = max(1, i - 21); j <= min(n, i + 21); j ++ ){int d = gcd(i, j);add(i, j, i * j / d);}spfa();printf("%d\n", dist[n]);return0;}//答案:10266837F.时间显⽰:#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int main(){LL n;cin >> n;n /= 1000;n %= 86400;int h = n / 3600;n %= 3600;int m = n / 60;int s = n % 60;printf("%02d:%02d:%02d\n", h, m, s);return0;}G.砝码称重:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110, M = 200010, B = M / 2;int n, m;int w[N];bool f[N][M];int main(){scanf("%d", &n);for (int i = 1; i <= n; i ++ ) scanf("%d", &w[i]), m += w[i];f[0][B] = true;for (int i = 1; i <= n; i ++ )for (int j = -m; j <= m; j ++ ){f[i][j + B] = f[i - 1][j + B];if (j - w[i] >= -m) f[i][j + B] |= f[i - 1][j - w[i] + B];if (j + w[i] <= m) f[i][j + B] |= f[i - 1][j + w[i] + B];}int res = 0;for (int j = 1; j <= m; j ++ )if (f[n][j + B])res ++ ;printf("%d\n", res);return0;}H.杨辉三⾓形:#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int n;LL C(int a, int b){LL res = 1;for (int i = a, j = 1; j <= b; i --, j ++ ) {res = res * i / j;if (res > n) return res;}return res;}bool check(int k){LL l = k * 2, r = max((LL)n, l);while (l < r){LL mid = l + r >> 1;if (C(mid, k) >= n) r = mid;else l = mid + 1;}if (C(r, k) != n) return false;cout << r * (r + 1) / 2 + k + 1 << endl; return true;}int main(){cin >> n;for (int k = 16; ; k -- )if (check(k))break;return0;}。
蓝桥杯试题
2018蓝桥杯C语言b组国赛真题1.标题:换零钞x星球的钞票的面额只有:100元;5元;2元;1元;共4种..小明去x星旅游;他手里只有2张100元的x星币;太不方便;恰好路过x 星银行就去换零钱..小明有点强迫症;他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍;剩下的当然都是5元面额的..银行的工作人员有点为难;你能帮助算出:在满足小明要求的前提下;最少要换给他多少张钞票吗5元;2元;1元面额的必须都有;不能是0注意;需要提交的是一个整数;不要填写任何多余的内容..手算都可以......下面是代码;答案741.include<iostream>ing namespace std;3.int main{4.forint i=1;i<40;i++{5.forint j=1;j<200;j++{6.if5i+210j+1j==2007.cout<<"5"<<i<<"+2"<<10j<<"+1"<<j<<"="<<5i+210j+1j<<"一共"<<i+10j+j<<"张"<<endl;8.}9.}10.return 0;11.}12.13. 2.标题:激光样式14.x星球的盛大节日为增加气氛;用30台机光器一字排开;向太空中打出光柱..15.安装调试的时候才发现;不知什么原因;相邻的两台激光器不能同时打开16.国王很想知道;在目前这种bug存在的情况下;一共能打出多少种激光效果17.显然;如果只有3台机器;一共可以成5种样式;即:18.全都关上sorry; 此时无声胜有声;这也算一种19.开一台;共3种20.开两台;只1种21.30台就不好算了;国王只好请你帮忙了..22.要求提交一个整数;表示30台激光器能形成的样式种数..23.注意;只提交一个整数;不要填写任何多余的内容..思路很简单;暴力搜索;30个灯光从左到右;从左边第一个开始;第一个可以开关;第二个要根据左边的灯光是否开启来取值;以此类推...... 答案21783091.include<iostream>2.include<string.h>ing namespace std;4.int ans = 0;5.int x31;//0代表关;1代表开6.7.void dfs int index{8.if index == 30{9.ans++;10.return;11.}12.if index == 0 || xindex-1 == 0{ //第一个灯光可以取0或1;当前灯光左边要是没开;那当前灯光可以取0和113.forint i=0;i<=1;i++{14.xindex = i;15.dfsindex+1;16.xindex = 0;17.}18.}19.else{ //左边的灯光开了;那当前灯光只能关闭取020.dfsindex+1;21.}22.}23.24.int main{25.memset x;0;31sizeofint;26.dfs0;27.cout<<ans<<endl;28.return0;29.}30. 3.标题:格雷码31.格雷码是以n位的二进制来表示数..32.与普通的二进制表示不同的是;它要求相邻两个数字只能有1个数位不同..33.首尾两个数字也要求只有1位之差..34.有很多算法来生成格雷码..以下是较常见的一种:35.从编码全0开始生成..36.当产生第奇数个数时;只把当前数字最末位改变0变1;1变037.当产生第偶数个数时;先找到最右边的一个1;把它左边的数字改变..38.用这个规则产生的4位格雷码序列如下:39.000040.000141.001142.001043.011044.011145.010146.010047.110048.110149.111150.111051.101052.101153.100154.100055.以下是实现代码;仔细分析其中逻辑;并填写划线部分缺少的代码..答案:a^a&-a<<11.include <stdio.h>2.void show int a;int n{3.int i;4.int msk = 1;5.for i=0; i<n-1; i++ msk = msk << 1;6.for i=0; i<n; i++{7.printf a & msk "1" : "0";8.msk = msk >> 1;9.}10.printf"\n";11.}12.void f int n{13.int i;14.int num = 1;15.for i=0; i<n; i++ num = num<<1;16.int a = 0;17.for i=0; i<num; i++{18.showa;n;19.if i%2==0{20. a = a ^ 1;21.}22.else{23. a = _________________________ ; //填空24.}25.}26.}27.int main{28.f4;29.return0;30.}请注意:只需要填写划线部分缺少的内容;不要抄写已有的代码或符号..4.标题:调手表小明买了块高端大气上档次的电子手表;他正准备调时间呢..在 M78 星云;时间的计量单位和地球上不同;M78 星云的一个小时有 n分钟..大家都知道;手表只有一个按钮可以把当前的数加一..在调分钟的时候;如果当前显示的数是 0 ;那么按一下按钮就会变成 1;再按一次变成 2 ..如果当前的数是 n - 1;按一次后会变成 0 ..作为强迫症患者;小明一定要把手表的时间调对..如果手表上的时间比当前时间多1;则要按 n - 1 次加一按钮才能调回正确时间..小明想;如果手表可以再添加一个按钮;表示把当前的数加 k 该多好啊……他想知道;如果有了这个 +k 按钮;按照最优策略按键;从任意一个分钟数调到另外任意一个分钟数最多要按多少次..注意;按 +k 按钮时;如果加k后数字超过n-1;则会对n取模..比如;n=10; k=6 的时候;假设当前时间是0;连按2次 +k 按钮;则调为2..「输入格式」一行两个整数 n; k ;意义如题..「输出格式」一行一个整数表示:按照最优策略按键;从一个时间调到另一个时间最多要按多少次..「样例输入」5 3「样例输出」2「样例解释」如果时间正确则按0次..否则要按的次数和操作系列之间的关系如下:1:+12:+1; +13:+34:+3; +1「数据范围」对于 30% 的数据 0 < k < n <= 5对于 60% 的数据 0 < k < n <= 100对于 100% 的数据 0 < k < n <= 100000资源约定:峰值内存消耗含虚拟机 < 256MCPU消耗 < 1000ms请严格按要求输出;不要画蛇添足地打印类似:“请您输入...”的多余内容..注意:main函数需要返回0;只使用ANSI C/ANSI C++ 标准;不要调用依赖于编译环境或操作系统的特殊函数..所有依赖的函数必须明确地在源文件中 include <xxx>不能通过工程设置而省略常用头文件..提交程序时;注意选择所期望的语言类型和编译器类型..5.标题:搭积木小明对搭积木非常感兴趣..他的积木都是同样大小的正立方体..在搭积木时;小明选取 m 块积木作为地基;将他们在桌子上一字排开;中间不留空隙;并称其为第0层..随后;小明可以在上面摆放第1层;第2层;……;最多摆放至第n层..摆放积木必须遵循三条规则:规则1:每块积木必须紧挨着放置在某一块积木的正上方;与其下一层的积木对齐;规则2:同一层中的积木必须连续摆放;中间不能留有空隙;规则3:小明不喜欢的位置不能放置积木..其中;小明不喜欢的位置都被标在了图纸上..图纸共有n行;从下至上的每一行分别对应积木的第1层至第n层..每一行都有m个字符;字符可能是‘.’或‘X’;其中‘X’表示这个位置是小明不喜欢的..现在;小明想要知道;共有多少种放置积木的方案..他找到了参加蓝桥杯的你来帮他计算这个答案..注意:地基上什么都不放;也算作是方案之一种..输入格式输入数据的第一行有两个正整数n和m;表示图纸的大小..随后n行;每行有m个字符;用来描述图纸 ..每个字符只可能是‘.’或‘X’..输出格式样例输入12 3..X.X.样例输出14样例说明1成功的摆放有其中O表示放置积木:1..X.X.2..XOX.3O.XOX.4..X.XO样例输入23 3..X.X....样例输出216数据规模约定对于10%的数据;n=1;m<=30;对于40%的数据;n<=10;m<=30;对于100%的数据;n<=100;m<=100..资源约定:峰值内存消耗含虚拟机 < 256MCPU消耗 < 1000ms请严格按要求输出;不要画蛇添足地打印类似:“请您输入...”的多余内容..注意:main函数需要返回0;只使用ANSI C/ANSI C++ 标准;不要调用依赖于编译环境或操作系统的特殊函数..所有依赖的函数必须明确地在源文件中 include <xxx>不能通过工程设置而省略常用头文件..提交程序时;注意选择所期望的语言类型和编译器类型..6.标题:矩阵求和经过重重笔试面试的考验;小明成功进入 Macrohard 公司工作..今天小明的任务是填满这么一张表:表有 n 行 n 列;行和列的编号都从1算起..其中第 i 行第 j 个元素的值是 gcdi; j的平方;gcd 表示最大公约数;以下是这个表的前四行的前四列:1 1 1 11 4 1 41 1 9 11 4 1 16小明突然冒出一个奇怪的想法;他想知道这张表中所有元素的和..由于表过于庞大;他希望借助计算机的力量..「输入格式」一行一个正整数 n 意义见题..「输出格式」一行一个数;表示所有元素的和..由于答案比较大;请输出模 10^9 + 7即:十亿零七后的结果..「样例输入」4「样例输出」48「数据范围」对于 30% 的数据;n <= 1000存在 10% 的数据;n = 10^5对于 60% 的数据;n <= 10^6对于 100% 的数据;n <= 10^7资源约定:峰值内存消耗含虚拟机 < 256MCPU消耗 < 2000ms请严格按要求输出;不要画蛇添足地打印类似:“请您输入...”的多余内容..注意:main函数需要返回0;只使用ANSI C/ANSI C++ 标准;不要调用依赖于编译环境或操作系统的特殊函数..所有依赖的函数必须明确地在源文件中 include <xxx>不能通过工程设置而省略常用头文件..提交程序时;注意选择所期望的语言类型和编译器类型..。
2014第五届蓝桥杯JAVA本科B组试题及答案解析
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组c语言历年题目
蓝桥杯b组c语言历年题目全文共四篇示例,供读者参考第一篇示例:蓝桥杯是中国面向大学生的计算机科学与编程竞赛,设立了不同级别的组别和不同的题目形式,其中B组是C语言编程的比赛,考察参赛选手对于C语言编程的理解和应用能力。
参加B组比赛需要具备一定的编程基础和C语言知识,适合有一定编程经验的大学生参与。
历年来,蓝桥杯B组的C语言题目围绕着各种不同的主题展开,涵盖了计算机科学与编程的各个方面,从基础的数据结构和算法到高级的计算机网络和操作系统等内容,题目设计丰富多样,旨在考察参赛选手的编程能力和创新思维。
以下是部分历年蓝桥杯B组的C语言题目:1. 编写一个程序,实现一个简单的计算器功能,支持加减乘除运算,并能够处理输入错误的情况。
2. 设计一个程序,实现一个简单的俄罗斯方块游戏,要求具备显示界面和键盘控制功能。
3. 编程实现一个简单的网络聊天程序,要求实现客户端和服务器端的通信功能,支持实时消息传输。
4. 设计一个程序,模拟实现一个简单的操作系统,包括进程管理、文件系统和内存管理等功能。
5. 编写一个程序,实现一个简单的图形界面,包括按钮、文本框和标签等控件,能够响应用户的操作。
这些题目涵盖了C语言编程中的各个方面,要求选手具备良好的编程基础和解决问题的能力,能够独立完成编程任务并提供有效的解决方案。
蓝桥杯B组的C语言题目旨在培养参赛选手的编程能力和创新思维,帮助他们提升对计算机科学和编程的理解和实践能力。
参加蓝桥杯B组比赛不仅可以锻炼参赛选手的编程技能,还可以拓宽他们的视野,了解计算机科学与技术领域的最新动态和发展趋势。
通过参加蓝桥杯的比赛,参赛选手可以结识志同道合的朋友,与他们共同探讨问题,交流经验,共同进步。
第二篇示例:蓝桥杯是中国首个面向大学生的计算机程序设计和算法竞赛,有A、B、C、D四个组别,其中B组使用C语言进行比赛。
蓝桥杯B组的比赛题目涵盖了C语言的基础知识、算法和数据结构等方面,旨在考察参赛选手的编程能力和解决问题的能力。
2014年蓝桥杯(第5届)预赛本科B组C语言真题解析
2014年蓝桥杯(第5届)预赛本科B组真题解析啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
(1)答案。
11(2)编程思路。
把啤酒、饮料的单价和总共花的钱都乘上10,转换为整数。
然后用循环对啤酒的罐数b(1≤b<823/23)和饮料的罐数c(1≤c<823/19)进行穷举,找出满足要求的啤酒罐数b。
(3)源程序。
#include <stdio.h>int main(){int b,c;for (b=1;b<35;b++)for (c=1;c<45;c++){if((823==b*23+c*19) &&(b<c))printf("%d\n",b);}return 0;}(4)用单重循环完成穷举。
实际上,也可以只对啤酒的罐数进行穷举。
#include <stdio.h>int main(){int b,cSum;for (b=1;b<35;b++){cSum=823-23*b;if (cSum%19==0 && cSum/19>b)printf("%d\n",b);}return 0;}切面条一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。
不要填写任何多余的内容。
(1)答案。
1025(2)编程思路。
由题目可知,对折0次切一刀得到2根,对折1次切一刀得到3根,对折2次切一刀得到5根。
第十三届蓝桥杯大赛软件赛省赛_PB
第十三届蓝桥杯大赛软件赛省赛Python大学B组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
考试时间为4小时。
考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。
时间截止后,将无法继续提交或浏览答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题:要求选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
把结果填空的答案直接通过网页提交即可,不要书写多余的内容。
程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
对于编程题目,不能使用诸如绘图、硬件操作或与操作系统相关的API。
注意:所有依赖的模块(如math)必须明确地在源文件中import。
只能使用python自带的模块,使用pip等安装的扩展模块无法使用。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
第十三届蓝桥杯大赛软件赛省赛1试题A:排列字母本题总分:5分【问题描述】小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO排列后为AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP排列后为AADDDDDGGOOOOPSTUUYYY 。
请问对于以下字符串,排列之后字符串是什么?WHERETHEREISAWILLTHEREISAWAY【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。
试题A:排列字母2试题B:寻找整数本题总分:5分【问题描述】有一个不超过1017的正整数n,知道这个数除以2至49后的余数如下表所示,求这个正整数最小是多少。
2015年蓝桥杯初赛b组试题
第一题正确答案: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‘三羊献瑞观察下面的加法算式:第三题正确答案:1085第四题代码填空11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
对于题目中数据,应该输出:++abcd1234++(如果出现对齐问题,参看【图1.jpg】)注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
-题解:我是一名OI党,入门直接学的是C++,结果考了个printf里面%*s的用法。
太特么冷门了,穷举了没试出来,原来后面的参数要跟两个。
分数11分怒丢正确答案:(width-strlen(s)-2)/2,"",s,(width-strlen(s)-1)/2,""备注:答案可以形式多样性,只要代入使得代码成立即可,但要注意奇偶问题所以后面一个要+1不然sample过了也是错的第五题代码填空13‘九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。
第五届蓝桥杯省赛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的主要区别。
2023年蓝桥杯c语言b组题解
2023年蓝桥杯C语言B组题解1. 前言作为蓝桥杯C语言B组的竞赛题目,本次比赛题目涉及了软件开发、数据结构、算法等多方面的知识。
本文对2023年蓝桥杯C语言B组的题目进行详细的解析和讲解,帮助大家更好地理解题目要求和解题思路。
2. 题目一针对第一题目的要求是编写一个程序,实现对一组整数的排序。
这是一个经典的排序算法问题,可以使用冒泡排序、快速排序、插入排序等多种算法进行解题。
在解题过程中,首先需要明确题目的输入输出格式和范围,然后选择合适的排序算法进行实现,最后进行测试验证。
3. 题目二第二题目要求实现一个简单的文本编辑器程序,可以进行文本的插入、删除、替换等操作。
这是一个基础的字符串处理问题,需要熟练掌握字符串的操作方法和技巧。
在解题过程中,可以使用C语言提供的字符串处理函数,如strcpy、strcat、strlen等,同时需要注意内存管理和边界情况的处理。
4. 题目三第三题目是一个经典的递归算法问题,要求实现对一个整数的阶乘计算。
递归算法是C语言中的重要部分,对于解题者来说,需要熟练掌握递归的基本原理和实现方法。
在解题过程中,可以使用递归函数进行实现,同时要考虑递归的边界情况和性能优化。
5. 题目四最后一道题目是一个图论问题,要求实现一个简单的图数据结构,并进行深度优先搜索(DFS)和广度优先搜索(BFS)。
图论是计算机科学中重要的基础知识,需要熟练掌握图的表示方法、搜索算法等。
在解题过程中,可以使用邻接矩阵或邻接表表示图,然后编写DFS和BFS算法进行实现。
6. 总结通过本文的详细讲解,相信大家对2023年蓝桥杯C语言B组的题目有了更深入的理解和掌握。
在解题过程中,需要灵活运用C语言的各种技巧和算法知识,同时注重代码的风格和效率,才能更好地解决问题。
希望本文能对大家有所帮助,祝大家在蓝桥杯比赛中取得优异的成绩!7. 实例演练现在我们将通过实例来演示如何使用C语言来解决蓝桥杯C语言B组的题目。
第七届蓝桥杯程序设计大赛题目及答案
第七届省赛1. 网友年龄某君新认识一网友。
当问及年龄时,他的网友说:“我的年龄是个2 位数,我比儿子大27 岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”请你计算:网友的年龄一共有多少种可能情况?提示:30 岁就是其中一种可能哦.请填写表示可能情况的种数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
7x-y=32. 生日蜡烛某君从某年开始每年都举办一次生日party ,并且每次都要吹熄与年龄相同根数的蜡烛现在算起来,他一共吹熄了236 根蜡烛。
请问,他从多少岁开始过生日party 的?请填写他开始过生日party 的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
26 #include<iostream> 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<<i<<endl;break;}}}}3. 方格填数如下的10 个格子填入0~9 的数字。
要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻) 一共有多少种可能的填数方案?请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
// 用dfs 求#include<iostream> #include<cstring> #include<cmath> 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;elsereturn 0;}return 1;}void dfs(int i,int j) {if(i==3&&j==4) {ans++;return ;}for(int num=0; num<=9; num++) {if(!flag[num]) { mp[i][j]=num; flag[num]=1; if(check(i,j)) if(j==4) dfs(i+1,1);elsedfs(i,j+1); flag[num]=0;}}}int main() {init();dfs(1,2);cout<<ans;}// 暴力求解#include <iostream>using namespace std;int ans=0;void swap(int *a,int *b){int *c;c=a;a=b;b=c;}int f(int a[])// 判断这种排列组合是否符合题意{if(a[0]-a[4]==-1||a[0]-a[4]==1) return 0;if(a[3]-a[4]==-1||a[3]-a[4]==1) return 0;if(a[5]-a[4]==-1||a[5]-a[4]==1) return 0;if(a[7]-a[4]==-1||a[7]-a[4]==1)return 0;if(a[8]-a[4]==-1||a[8]-a[4]==1)return 0;if(a[9]-a[4]==-1||a[9]-a[4]==1)return 0;if(a[1]-a[4]==-1||a[1]-a[4]==1)return 0;if(a[1]-a[5]==-1||a[1]-a[5]==1)return 0;if(a[1]-a[6]==-1||a[1]-a[6]==1)return 0;if(a[0]-a[5]==-1||a[0]-a[5]==1)return 0;if(a[2]-a[5]==-1||a[2]-a[5]==1)return 0;if(a[8]-a[5]==-1||a[8]-a[5]==1)return 0;if(a[9]-a[5]==-1||a[9]-a[5]==1)return 0;if(a[6]-a[5]==-1||a[6]-a[5]==1)return 0;if(a[6]-a[9]==-1||a[6]-a[9]==1)return 0;if(a[6]-a[2]==-1||a[6]-a[2]==1)return 0;if(a[3]-a[0]==-1||a[3]-a[0]==1)return 0;if(a[3]-a[7]==-1||a[3]-a[7]==1)return 0;if(a[8]-a[7]==-1||a[8]-a[7]==1)return 0;if(a[8]-a[3]==-1||a[8]-a[3]==1)return 0;if(a[9]-a[8]==-1||a[9]-a[8]==1)return 0;if(a[1]-a[0]==-1||a[1]-a[0]==1)return 0;if(a[1]-a[2]==-1||a[1]-a[2]==1)return 0;}void perm(int a[],int m,int len)//列举出0-9 所有的组合进行判断{if(m==len-1){if(f(a)) ans++;return ;}for(int i=m;i<len;i++){swap(a[m],a[i]); perm(a,m+1,len); swap(a[m],a[i]);} } int main() {int a[10] = {0,1,2,3,4,5,6,7,8,9}; perm(a,0,10);cout<<ans<<endl; return 0;}4. 快速排序排序在各种场合经常被用到。
蓝桥杯试题及答案
蓝桥杯试题及答案蓝桥杯是面向全国高校计算机专业学生的程序设计竞赛,由工业和信息化部人才交流中心主办,旨在提高学生的编程能力、算法设计能力以及团队合作能力。
以下是一份蓝桥杯试题及答案的示例,供参考。
### 蓝桥杯程序设计竞赛试题及答案#### 题目一:求最大公约数题目描述:给定两个正整数 a 和 b,请编写一个程序计算它们的最大公约数(GCD)。
输入格式:输入包含两个整数 a 和 b,用空格分隔。
输出格式:输出 a 和 b 的最大公约数。
样例输入:```24 36```样例输出:``````答案:```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int a, b;scanf("%d %d", &a, &b);printf("%d\n", gcd(a, b));return 0;}```#### 题目二:字符串反转题目描述:编写一个程序,实现对输入的字符串进行反转。
输入格式:输入一个字符串。
输出格式:输出反转后的字符串。
样例输入:```Hello World```样例输出:`````ldrow olleH```答案:```c#include <stdio.h>#include <string.h>int main() {char str[1000];scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) { printf("%c", str[i]);}return 0;}```#### 题目三:二分查找题目描述:在一个已排序的数组中,使用二分查找算法找出一个特定元素的位置。
蓝桥杯第十届真题B组(2019年)
蓝桥杯第⼗届真题B组(2019年)2019年第⼗届蓝桥杯⼤赛软件类省赛C/C++⼤学B组试题 A:组队本题总分:5分【问题描述】作为篮球队教练,你需要从以下名单中选出 1号位⾄ 5号位各⼀名球员,组成球队的⾸发阵容。
每位球员担任 1号位⾄ 5号位时的评分如下表所⽰。
请你计算⾸发阵容 1号位⾄5号位的评分之和最⼤可能是多少?此题需要注意的是:⼀个⼈可能在很多个位分数都是最⾼的,但是⼀个⼈只能打⼀个位1: 98 2:99 3: 98 4:97 5:98 == 490(认真理解题真的很重要┭┮﹏┭┮)试题 B:年号字串本题总分:5分【问题描述】⼩明⽤字母 A对应数字 1,B对应 2,以此类推,⽤ Z对应 26。
对于 27以上的数字,⼩明⽤两位或更长位的字符串来对应,例如 AA对应27,AB对应28,AZ对应52,LQ对应329。
请问2019对应的字符串是什么?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。
本题的结果为⼀个⼤写英⽂字符串,在提交答案时只填写这个字符串,注意全部⼤写,填写多余的内容将⽆法得分//答案BYQ#include <bits/stdc++.h>using namespace std;void dfs(int N) {if (N > 26) dfs((N - 1) / 26);//其中(N - 1)为将26进制转换为以0开头的,以前是以1开头满27进putchar('A' + (N - 1) % 26);}int main() {int N;while (cin >> N) {dfs(N); cout << endl;}return0;}试题 C:数列求值本题总分:10分【问题描述】给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。
求第20190324项的最后4位数字。
【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
....
那么最终派往W星的观察团会有多少种国别的不同组合呢?
下面的程序解决了这个问题。
数组a[]中既是每个国家可以派出的最多的名额。
程序执行结果为:
DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
{
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)
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
题解:纯粹的数学题而已
int a[101] ={0};
for(int i = 1 ; i < 101 ; i ++)
for(i=0; i<N; i++) printf("%d ", a[i]);
printf("\n");
return 0;
}
题解:快速排序。这里是单步快排。就是将一堆数按照某个数作为基准数分成左右两堆
s),因为这时候的j是已经不大于了x的,p这个位置要放该区间的最小值,j满足,换过去。
(5)
抽签
X星球要派出一个5人组成的观察团前往W星。
//cout<<"*"<<endl;
return ;
}
for(int i=1;i<=9;++i)
{
if(!visit[i])
{
visit[i]=1;
num[n]=i;
dfs(n+1);
visit[i]=0;
num[n]=0;
}
}
}
int main()
{ห้องสมุดไป่ตู้
memset(num,0,sizeof(num));
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
....
(以下省略,总共101行)
#include <stdio.h>
#define N 6
#define M 5
#define BUF 1024
}
}
(3)
B DEF
A + — + —— = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714就是一种解法,
5+3/1+972/486是另一种解法。
这个算式一共有多少种解法?//29
题解:DFS+回溯
{
if(p<r)
{
int q = partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
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);
{
int b=num[7]*100+num[8]*10+num[9]; //GHI
int a=num[4]*100+num[5]*10+num[6]; //DEF
//cout<<b<<' '<<a<<' '<<num[1]<<' '<<num[2]<<' '<<num[3]<<endl;
if(num[1]*num[3]*b+num[2]*b+num[3]*a==10*num[3]*b) sum++;
memset(visit,0,sizeof(visit));
dfs(1);
cout<<sum;
return 0;
}
(4)
快速排序
排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。
其思想是:先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:其左边的元素都不大于它,其右边的元素都不小于它。
这样,排序问题就被分割为两个子区间。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
题解:暴力枚举。
第一重循环枚举刚开始过生日时候的岁数。
第二重循环是枚举现在的岁数
第三重循环就是将刚开始过生日的岁数和现在的岁数加起来。
int start,end;
for(start = 1 ; start < 236 ; start ++)
}
int partition(int a[], int p, int r)
{
int i = p;
int j = r + 1;
int x = a[p];
while(1)
{
while(i<r && a[++i]<x);//由于要按照从小到大排序,就i一直向右移动直到大于x值位置
while(a[--j]>x);//一样的,一直左移直到小于x时
再分别对子区间排序就可以了。
这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。
下面的代码是一种实现,请分析并填写划线部分缺少的代码。
#include <stdio.h>
void s a[], int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
由于计算机中5/2会等于2,而且如果打算采用精度方面的处理的话,会很麻烦,而且很容易错。
所以,把这些式子全部变成乘法形式就好了。
A*C*GHI+B*GHI+DEF*C=10*C*GHI
代码:
int visit[10],num[10];
int sum=0;
void dfs(int n)
{
if(n==10)
a[i] = a[i-1] + i;
int ans = 0;
for(int j = 1 ; j < 101 ; j ++)
ans += a[j];
printf("%d\n",ans);
(2)
生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
if(i>=j) break;//如果一直移动到了相交的区间,说明这个区间内都是由小到大的,就直接退拉!不用交换啦!
s);//有的话呢,就交换,这样保证了左小右大。
}
______________________;
return j;
}
void quicksort(int a[], int p, int r)