2018蓝桥杯试题_共15页
- 格式:pdf
- 大小:252.39 KB
- 文档页数:12
蓝桥杯历届c语言试题及答案蓝桥杯历届C语言试题及答案1. 问题描述编写一个程序,实现对给定整数数组进行排序的功能。
2. 输入格式第一行包含一个整数N,表示数组中元素的数量。
第二行包含N个整数,表示数组中的元素。
3. 输出格式输出排序后的数组。
4. 样例输入```53 14 1 5```5. 样例输出```1 1 3 4 5```6. 答案```c#include <stdio.h>#include <stdlib.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int partition(int arr[], int low, int high) { int pivot = arr[high];int i = (low - 1);for (int j = low; j <= high - 1; j++) {if (arr[j] < pivot) {i++;swap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return (i + 1);}void quickSort(int arr[], int low, int high) { if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}}int main() {int N;scanf("%d", &N);int arr[N];for (int i = 0; i < N; i++) { scanf("%d", &arr[i]);}quickSort(arr, 0, N - 1);for (int i = 0; i < N; i++) { printf("%d ", arr[i]);}return 0;}```。
(完整word版)蓝桥杯练习系统题目汇总(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)蓝桥杯练习系统题目汇总(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)蓝桥杯练习系统题目汇总(word版可编辑修改)的全部内容。
蓝桥杯练习系统题目汇总:入门训练1. Fibonacci数列问题描述Fibonacci数列的递推公式为:F n=F n—1+F n-2,其中F1=F2=1.当n比较大时,F n也非常大,现在我们想知道,F n除以10007的余数是多少。
输入格式输入包含一个整数n。
输出格式输出一行,包含一个整数,表示F n除以10007的余数.说明:在本题中,答案是要求F n除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出F n的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单.样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 〈= n 〈= 1,000,000。
参考代码:c++1.#include〈stdlib.h〉2.#include<stdio。
h>3.#define MOD 100074.#define MAXN 10000015.int n,i, F[MAXN];6.int main()7.{8.scanf(”%d",&n);9.F[1]= 1;10.F[2]= 1;11.for(i = 3;i <= n;++i)12.F[i]= (F[i-1] + F[i-2])%MOD;13.printf(”%d\n”,F[n]);14.return0;15.}java:1.import java。
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.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*"<<i<<"+2*"<<10*j<<"+1*"<<j<<"="<<5*i+2*10*j+1*j<<"(一共"<<i+10*j+j<<"张)"<<endl;8.}9.}10.return 0;11.}12.2.标题:激光样式x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。
安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。
1.历届试题矩阵翻硬币时间限制:1.0s 内存限制:256.0MB问题描述小明先把硬币摆成了一个n 行m 列的矩阵。
随后,小明对每一个硬币分别进行一次Q 操作。
对第x行第y列的硬币进行Q 操作的定义:将所有第i*x 行,第j*y 列的硬币进行翻转。
其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。
当小明对所有硬币都进行了一次Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。
小明想知道最开始有多少枚硬币是反面朝上的。
于是,他向他的好朋友小M寻求帮助。
聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢复到最开始的状态。
然而小明很懒,不愿意照做。
于是小明希望你给出他更好的方法。
帮他计算出答案。
输入格式输入数据包含一行,两个正整数n m,含义见题目描述。
输出格式输出一个正整数,表示最开始有多少枚硬币是反面朝上的。
样例输入2 3样例输出1数据规模和约定对于10%的数据,n、m <= 10^3;对于20%的数据,n、m <= 10^7;对于40%的数据,n、m <= 10^15;对于10%的数据,n、m <= 10^1000(10的1000次方)。
2.历届试题兰顿蚂蚁时间限制:1.0s 内存限制:256.0MB问题描述兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。
平面上的正方形格子被填上黑色或白色。
在其中一格正方形内有一只“蚂蚁”。
蚂蚁的头部朝向为:上下左右其中一方。
蚂蚁的移动规则十分简单:若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。
规则虽然简单,蚂蚁的行为却十分复杂。
刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。
蚂蚁的路线是很难事先预测的。
你的任务是根据初始状态,用计算机模拟兰顿蚂蚁在第n步行走后所处的位置。
Python2018蓝桥杯真题练习—哪天返回
问题描述
小明被不明势力劫持。
后莫名其妙被扔到x星站再无问津。
小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。
他决定在x星战打工。
好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。
要求提交的是一个整数,表示第几天。
解决方案
本题的理解程度不难,是对于基础知识的理解应用,在设置未知数的同时通过循环做出判断,并在循环中解出要计算的未知数,本题只是通过基础的一次循环就可以得到解题答案,不需要做过多的理解与复杂的重复返回计算。
只需要注意while循环的注意事项就可以
结语
学习并练习蓝桥杯竞赛的真题,理解题目的意义,在解题过程中,复习while 循环的使用。
本题不需要做多的理解和太复杂的代码去解释题目的答案。
继续练习蓝桥杯真题。
实习编辑:衡辉
稿件来源:深度学习与文旅应用实验室(DLETA)。
算法训练编号:ALGO-1题目:区间k大数查询列关键字:排序查找类型:普通试题问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。
输入格式第一行包含一个数n,表示序列长度。
第二行包含n个正整数,表示给定的序列。
第三个包含一个正整数m,表示询问个数。
接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。
序列元素从1开始标号。
输出格式总共输出m行,每行一个数,表示询问的答案。
样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于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; i<nums.length; i++){nums[i] = readInt();}for(int i=readInt(); i>0; i--){int a = readInt();int b = readInt();int c = readInt();int[] tn = new int[b-a+1];for(int j=0; j<tn.length; j++){tn[j] = nums[a-1+j];}Arrays.sort(tn);System.out.println(tn[tn.length-c]);}}private static int readInt() throws IOException{int i,sum=0;while(((i=in.read())&48) != 48 || i>57);for(;(i&56) == 48 || (i&62) == 56; i=in.read())sum = sum*10 + (i&15);return sum;}}编号:ALGO-2题目:最大最小公倍数关键字:贪心类型:普通试题问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
测试次数——2018年蓝桥杯算法真题x星球的居民脾⽓不太好,但好在他们⽣⽓的时候唯⼀的异常举动是:摔⼿机。
各⼤⼚商也就纷纷推出各种耐摔型⼿机。
x星球的质监局规定了⼿机必须经过耐摔测试,并且评定出⼀个耐摔指数来,之后才允许上市流通。
x星球有很多⾼耸⼊云的⾼塔,刚好可以⽤来做耐摔测试。
塔的每⼀层⾼度都是⼀样的,与地球上稍有不同的是,他们的第⼀层不是地⾯,⽽是相当于我们的2楼。
如果⼿机从第7层扔下去没摔坏,但第8层摔坏了,则⼿机耐摔指数=7。
特别地,如果⼿机从第1层扔下去就坏了,则耐摔指数=0。
如果到了塔的最⾼层第n层扔没摔坏,则耐摔指数=n为了减少测试次数,从每个⼚家抽样3部⼿机参加测试。
某次测试的塔⾼为1000层,如果我们总是采⽤最佳策略,在最坏的运⽓下最多需要测试多少次才能确定⼿机的耐摔指数呢?请填写这个最多测试次数。
代码如下:public class Main {public static void main(String[] args) {int height = 1000;int phone = 3;// 定义⼀个⼆维数组int dp[][]=new int[height + 1][phone + 1];for (int n = 1; n <= phone; n++) {for (int i = 1; i <= height; i++) {// 如果是⼀部⼿机或者⼀层楼的话,那么问题就可以简单的解决了,即 dp[i][n] = dp[i - 1][n] + 1// 这⾥是最坏的情况,但不是最佳策略(⼏层楼测试⼏次)dp[i][n] = dp[i - 1][n] + 1;// 下⾯的循环则是采⽤最佳策略min,在最坏情况下的测试次数max// 如果⼿机和楼层都超过1,那么就要采⽤下⾯的决策,下⾯的循环是问题的突破⼝for (int j = 1; j < i && n > 1; j++) {// 从第⼀层⼀直测试到第i层,看看在哪⼀层是最符合的dp[i][n] = Math.min(dp[i][n], Math.max(dp[j - 1][n - 1], dp[i - j][n]) + 1);}}}System.out.println(dp[1000][3]);}}解决问题的关键:①从最佳和最坏两个⾓度出发②摔⼿机的结果⽆⾮两种:碎和不碎,可分情况讨论,取更坏者(即测试次数多者)。
蓝桥杯练习系统题目汇总:入门训练数列1. Fibonacci问题描述 =1。
,其中F=FFibonacci数列的递推公式为:F=F+F2n-2n-11n的余数是多少。
F除以10007n当比较大时,F也非常大,现在我们想知道,nn输入格式。
输入包含一个整数n输出格式的余数。
F除以10007输出一行,包含一个整数,表示n的余数,因此我们只要能算出这个余数即10007说明:在本题中,答案是要求F除以n取余数,直接计算余数往10007F的准确值,再将计算的结果除以可,而不需要先计算出n往比先算出原数再取余简单。
样例输入10样例输出55样例输入22样例输出7704数据规模与约定。
1 <= n <= 1,000,000c++参考代码:1.#include <stdlib.h>2.#include <stdio.h>3.#define MOD 100074.#define MAXN 10000015.int n, i, F[MAXN];6.int main()7.{8. scanf(╜層, &n);9. F[1] = 1;10. F[2] = 1;11. for (i = 3; i <= n; ++i)12. F[i] = (F[i-1] + F[i-2]) % MOD;13. printf(╜層湜, F[n]);14. return 0;}15.java:java.util.Scanner; 1.import2.public class Main{3.public static void main(String[] args) {4. Scanner scanner = new Scanner(System.in) ;5.int num = scanner.nextInt() ;6.int[] a = new int[num+2] ;7. a[1] = a[2] = 1;8.if (num == 1) {9. a[num] = 1 ;10. }else if (num == 2) {11. a[num] = 1 ;12. }else {13.for (int i = 3; i <= num; i++) {14. a[i] = (a[i - 1] + a[i - 2]) % 10007 ;15. }16. }17. System.out.println(a[num]);18. }19.}2. 实数输出问题描述给定圆的半径r,求圆的面积。
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)注意,需要提交的是一个整数,不要填写任何多余的内容。
手算都可以。
下面是代码,答案741.#include/doc/d414159169.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*"<<i<<"+2*"<<10*j<<"+1*"<<j<<"="<<5*i+2* 10*j+1*j<<"(一共"<<i+10*j+j<<"张)"<<endl;< p="">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台就不好算了,国王只好请你帮忙了。
蓝桥杯练习系统题目汇总——IT认证篇一、编程基础题目汇总1. 数据类型与变量判断下列数据类型:整型、浮点型、字符型变量的定义与赋值常量与变量的区别及应用2. 运算符与表达式算术运算符、比较运算符、逻辑运算符的使用表达式的优先级与结合性类型转换与强制类型转换3. 控制结构顺序结构、分支结构、循环结构的应用break和continue语句的用法函数的定义与调用4. 数组与字符串一维数组的定义、初始化与遍历字符串的基本操作:拼接、截取、查找、替换字符串与数组的相互转换二、算法与数据结构题目汇总1. 排序算法冒泡排序、选择排序、插入排序快速排序、归并排序、堆排序排序算法的性能分析2. 查找算法顺序查找、二分查找哈希查找及其冲突解决方法查找算法的性能分析3. 数据结构线性表:顺序表、链表栈与队列的应用树与二叉树的基本操作4. 图算法图的表示与遍历最短路径算法:Dijkstra、Floyd拓扑排序与关键路径三、实战题目汇总1. 基础编程题目简单计算器九九乘法表字符串反转2. 数据结构与算法题目合并两个有序链表求二叉树的深度实现快速排序3. 综合应用题目学生管理系统职员工资管理系统超市商品管理系统本篇汇总了蓝桥杯练习系统中与IT认证相关的题目,旨在帮助考生巩固编程基础,提升算法与数据结构能力,为参加资格考试认证做好准备。
希望广大考生认真练习,不断提高自己的编程水平。
四、高级编程技巧题目汇总1. 递归与分治策略斐波那契数列的计算汉诺塔问题的解决快速幂算法的实现2. 贪心算法与动态规划背包问题最长公共子序列最短路径问题的高级应用3. 编码与解码技巧Caesar密码的加密与解密ASCII码与字符的转换Base64编码与解码五、软件开发实践题目汇总1. 用户界面设计简单的登录界面设计菜单栏与工具栏的实现对话框的创建与应用2. 数据库操作数据库的创建与表的操作SQL语句的编写与执行常见数据库问题的解决3. 网络编程TCP与UDP协议的理解与应用客户端与服务器的通信网络爬虫的基本实现六、综合能力提升题目汇总1. 创新思维训练非常规算法题目的解决编程思维游戏逻辑推理与问题分析2. 团队协作与沟通项目管理与分工合作编程规范与代码审查有效沟通与问题反馈3. 软件工程实践需求分析文档的编写软件设计模式的应用测试用例的编写与执行七、系统分析与设计题目汇总1. 系统需求分析与设计用户需求的采集与分析系统功能模块的划分系统流程图的绘制与优化2. 系统架构设计分层架构与微服务架构的选择数据库设计与优化系统性能分析与预测3. 系统测试与维护单元测试与集成测试的实施系统性能测试与压力测试系统维护与升级的策略八、信息安全与防护题目汇总1. 密码学基础对称加密与非对称加密的区别数字签名与证书的应用常见加密算法的原理与实现2. 网络安全防护网络攻击类型与防御措施防火墙与入侵检测系统的配置安全协议的理解与应用3. 信息安全意识个人信息保护的重要性安全编码习惯的养成信息安全法律法规的了解九、项目管理与质量控制题目汇总1. 项目管理技能项目计划的制定与执行项目风险的识别与应对项目团队的组建与管理2. 质量控制方法质量保证与质量控制的过程软件缺陷的管理与跟踪质量管理工具的使用3. 敏捷开发实践敏捷开发原则与价值观Scrum与Kanban方法的应用敏捷项目的迭代与回顾通过这些题目的练习,考生将能够全面掌握IT认证所需的知识体系,不仅包括硬技能,如编程和系统设计,还包括软技能,如项目管理和信息安全。
2018java蓝桥杯校赛题⽬1.【问题描述】100 可以表⽰为带分数的形式:100 = 3 + 69258 / 714还可以表⽰为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现⼀次(不包含0)。
类似这样的带分数,100 有 11 种表⽰法。
题⽬要求:从标准输⼊读⼊⼀个正整数N (N<1000*1000)程序输出该数字⽤数码1~9不重复不遗漏地组成带分数表⽰的全部种数。
注意:不要求输出每个表⽰,只统计有多少表⽰法!样例输⼊:100样例输出:11样例输⼊:105样例输出:6这题使⽤排列组合出每种数字顺序,然后对每组数字截出所有可能出现的3段 a1,a2,a3 ,只要满⾜a1 + a2 / a3 == N ,就满⾜条件 package 蓝桥杯校赛2018;import java.util.Scanner;public class A {static int[] t = new int[10];static int[] a = new int[10];static int num;static int count;public static void main(String[] args) {Scanner in = new Scanner(System.in);num = in.nextInt();f(1);System.out.println(count);} //获取数组中⼀段拼接成数字static double get(int c, int d) {int result = a[c];for (int i = c + 1; i <= d; i++) {result = result * 10 + a[i];}return result;} //判断是否满⾜ a1 + a2 / a3 == Nstatic void is() {for (int i = 1; i < 8; i++) {for (int j = 1; j + i < 9; j++) {//System.out.println(1 + "," + i + " " + (i + 1) + "," + (i + j) + " " + (i + j + 1) + "," + 9);//System.out.println(get(1, i) + " " + get(i + 1, i + j) + " " + get(i + j + 1, 9));if(get(1, i) + get(i + 1, i + j) / get(i + j + 1, 9) == num) {//System.out.println(get(1, i) + " " + get(i + 1, i + j) + " " + get(i + j + 1, 9));count++;}}}} //这⾥dfs搜索出数字所有排列顺序static void f(int n) {if (n == 10) {//System.out.println(Arrays.toString(a));for (int i = 1; i < 10; i++) {if (t[i] == 0) {t[i] = 1;a[n] = i;f(n + 1);t[i] = 0;}}}}2.【问题描述】如果⽤a b c d这4个字母组成⼀个串,有4!=24种,如果把它们排个序,每个串都对应⼀个序号:abcd 0abdc 1acbd 2acdb 3adbc 4adcb 5bacd 6badc 7bcad 8bcda 9bdac 10bdca 11cabd 12cadb 13cbad 14cbda 15cdab 16cdba 17...现在有不多于10个两两不同的⼩写字母,给出它们组成的串,你能求出该串在所有排列中的序号吗?【输⼊格式】⼀⾏,⼀个串。
[蓝桥杯][2018年第九届真题]航班时间题⽬⼩ hh 前往美国参加了蓝桥杯国际赛。
⼩ hh 的⼥朋友发现⼩ hh 上午⼗点出发,上午⼗⼆点到达美国,于是感叹到“现在飞机飞得真快,两⼩时就能到美国了”。
⼩ hh 对超⾳速飞⾏感到⼗分恐惧。
仔细观察后发现飞机的起降时间都是当地时间。
由于北京和美国东部有 1212 ⼩时时差,故飞机总共需要 1414 ⼩时的飞⾏时间。
不久后⼩ hh 的⼥朋友去中东交换。
⼩ hh 并不知道中东与北京的时差。
但是⼩ hh 得到了⼥朋友来回航班的起降时间。
⼩ hh 想知道⼥朋友的航班飞⾏时间是多少。
对于⼀个可能跨时区的航班,给定来回程的起降时间。
假设飞机来回飞⾏时间相同,求飞机的飞⾏时间。
输⼊格式⼀个输⼊包含多组数据。
输⼊第⼀⾏为⼀个正整数 TT,表⽰输⼊数据组数。
每组数据包含两⾏,第⼀⾏为去程的起降时间,第⼆⾏为回程的起降时间。
起降时间的格式如下:1. h1:m1:s1 h2:m2:s22. h1:m1:s1 h3:m3:s3 (+1)3. h1:m1:s1 h4:m4:s4 (+2)第⼀种格式表⽰该航班在当地时间h1时m1分s1秒起飞,在当地时间当⽇h2时m2分s2秒降落。
第⼆种格式表⽰该航班在当地时间h1时m1分s1秒起飞,在当地时间次⽇h2时m2分s2秒降落。
第三种格式表⽰该航班在当地时间h1时m1分s1秒起飞,在当地时间第三⽇h2时m2分s2秒降落。
输出格式对于每⼀组数据输出⼀⾏⼀个时间hh:mm:ss,表⽰飞⾏时间为hh⼩时mm分ss秒。
注意,当时间为⼀位数时,要补齐前导零,如三⼩时四分五秒应写为03:04:05。
数据范围保证输⼊时间合法(0≤h≤23,0≤m,s≤590≤h≤23,0≤m,s≤59),飞⾏时间不超过24⼩时。
输⼊样例:317:48:19 21:57:2411:05:18 15:14:2317:21:07 00:31:46 (+1)23:02:41 16:13:20 (+1)10:19:19 20:41:2422:19:04 16:41:09 (+1)输出样例:04:09:0512:10:3914:22:05需要注意的点:平常我都是⽤cin、cout输⼊输出的,遇到这种带格式的输出这种⽅法明显是不⽅便的,所以这⾥使⽤scanf和printf。
1.A+B问题问题描述输入A、B,输出A+B。
说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。
输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。
输出格式输出一行,包括一个整数,表示A+B的值。
样例输入12 45样例输出57数据规模与约定-10000 <= A, B <= 10000。
2.序列求和问题描述求1+2+3+...+n的值。
输入格式输入包括一个整数n。
输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。
样例输入4样例输出10样例输入100样例输出5050数据规模与约定1 <= n <= 1,000,000,0003.圆的面积问题描述给定圆的半径r,求圆的面积。
输入格式输入包含一个整数r,表示圆的半径。
输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
样例输入4样例输出50.2654825数据规模与约定1 <= r <= 10000。
提示本题对精度要求较高,请注意π的值应该取较精确的值。
你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。
4.Fibonacci数列问题描述Fibonacci数列的递推公式为:F n=F n-1+F n-2,其中F1=F2=1。
当n比较大时,F n也非常大,现在我们想知道,F n除以10007的余数是多少。
输入格式输入包含一个整数n。
输出格式输出一行,包含一个整数,表示F n除以10007的余数。
说明:在本题中,答案是要求F n除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出F n的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 <= n <= 1,000,000。
算法训练编号:ALGO-1题目:区间k大数查询列关键字:排序查找类型:普通试题问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。
输入格式第一行包含一个数n,表示序列长度。
第二行包含n个正整数,表示给定的序列。
第三个包含一个正整数m,表示询问个数。
接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。
序列元素从1开始标号。
输出格式总共输出m行,每行一个数,表示询问的答案。
样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于30%的数据,n,m<=100;对于100%的数据,n,m<=1000;保证k<=(r-l+1),序列中的数<=1000000。
本题的Java参考代码如下:import class Main{private static BufferedInputStream in = new BufferedInputStream;public static void main(String[] args) throws IOException{int[] nums = new int[readInt()];for(int i=0; i<; i++){nums[i] = readInt();}for(int i=readInt(); i>0; i--){int a = readInt();int b = readInt();int c = readInt();int[] tn = new int[b-a+1];for(int j=0; j<; j++){tn[j] = nums[a-1+j];}(tn);}}private static int readInt() throws IOException {int i,sum=0;while(((i=())&48) != 48 || i>57);for(;(i&56) == 48 || (i&62) == 56; i=())sum = sum*10 + (i&15);return sum;}}编号:ALGO-2题目:最大最小公倍数关键字:贪心类型:普通试题问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
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.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*"<<i<<"+2*"<<10*j<<"+1*"<<j<<"="<<5*i+2*10*j+1*j<<"(一共"<<i+10*j+j<<"张)"<<endl;8.}9.}10.return 0;11.}12.2.标题:激光样式x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。
安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。
算法训练编号:ALGO-1题目:区间k大数查询列关键字:排序查找类型:普通试题问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。
输入格式第一行包含一个数n,表示序列长度。
第二行包含n个正整数,表示给定的序列。
第三个包含一个正整数m,表示询问个数。
接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。
序列元素从1开始标号。
输出格式总共输出m行,每行一个数,表示询问的答案。
样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于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; i<nums.length; i++){nums[i] = readInt();}for(int i=readInt(); i>0; i--){int a = readInt();int b = readInt();int c = readInt();int[] tn = new int[b-a+1];for(int j=0; j<tn.length; j++){tn[j] = nums[a-1+j];}Arrays.sort(tn);System.out.println(tn[tn.length-c]);}}private static int readInt() throws IOException{int i,sum=0;while(((i=in.read())&48) != 48 || i>57);for(;(i&56) == 48 || (i&62) == 56; i=in.read())sum = sum*10 + (i&15);return sum;}}编号:ALGO-2题目:最大最小公倍数关键字:贪心类型:普通试题问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
蓝桥杯练习系统题目汇总蓝桥杯练习系统题目汇总:入门训练1. Fibonacci数列问题描述Fibonacci数列的递推公式为:F=F+F,其中F=F=1。
nn-1n-212当n比较大时,F也非常大,现在我们想知道,F除以10007的余数是多少。
nn输入格式输入包含一个整数n。
输出格式输出一行,包含一个整数,表示F除以10007的余数。
n说明:在本题中,答案是要求F除以10007的余数,因此我们只要能算出这个余数即n可,而不需要先计算出F的准确值,再将计算的结果除以10007取余数,直接计算余数往n往比先算出原数再取余简单。
样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 <= n <= 1,000,000。
参考代码:c++1. #include <stdlib.h>2. #include <stdio.h>3. #define MOD 100074. #define MAXN 10000015. int n, i, F[MAXN];6. int main()7. {8. scanf("%d", &n);9. F[1] = 1;10. F[2] = 1;11. for (i = 3; i <= n; ++i)12. F[i] = (F[i-1] + F[i-2]) % MOD;13. printf("%d\n", F[n]);14. return 0;15. }java:1. import java.util.Scanner;2. public class Main{3. public static void main(String[] args) {4. Scanner scanner = new Scanner(System.in) ;5. int num = scanner.nextInt() ;6. int[] a = new int[num+2] ;7. a[1] = a[2] = 1;8. if (num == 1) {9. a[num] = 1 ;10. }else if (num == 2) {11. a[num] = 1 ;12. }else {13. for (int i = 3; i <= num; i++) {14. a[i] = (a[i - 1] + a[i - 2]) % 10007 ;15. }16. }17. System.out.println(a[num]);18. }19. }2. 实数输出问题描述给定圆的半径r,求圆的面积。