蓝桥杯练习题库 3算法训练题
更新时间:2023-11-07 22:47:01 阅读量: 教育文库 文档下载
- python蓝桥杯题库推荐度:
- 相关推荐
算法训练 图形显示
时间限制:1.0s 内存限制:512.0MB
查看参考代码
问题描述
编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * *
*
#include
{int i,j,a[100][100],n;
while(scanf(\ {for(i=0;i printf(\ if(j!=n-i-1) printf(\ if(j==n-1-i) printf(\ } } } 算法训练 排序 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。 输入格式:输入只有一行,即三个整数,中间用空格隔开。 输出格式:输出只有一行,即排序后的结果。 输入输出样例 样例输入 9 2 30 样例输出 30 9 2 #include printf(\ return 0; } 算法训练 2的次幂表示 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2^0 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=2^10+2^8+2^5+2+1 所以1315最后可表示为: 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0) 输入格式 正整数(1<=n<=20000) 输出格式 符合约定的n的0,2表示(在表示中不能有空格) 样例输入 137 样例输出 2(2(2)+2+2(0))+2(2+2(0))+2(0) 样例输入 1315 样例输出 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0) 提示 用递归实现会比较简单,可以一边递归一边输出 #include char temp[1000]={0}; void show(int n) { if(n==0) {temp[l]='0';l++;return ;} if(n==2) { temp[l]='2',l++;return ; } int a[15]={0},i=0,j; while(n!=0) { a[i]=n%2; n/=2; i++; } for(j=i-1;j>=0;j--) if(a[j]==1) { if(j==1) { if(temp[l-1]==')' || temp[l-1]=='2' ) {temp[l]='+';l++;} temp[l]='2';l++; } else { if(temp[l-1]==')' || temp[l-1]=='2' ) {temp[l]='+';l++;} temp[l]='2';l++; temp[l]='(';l++; show(j); temp[l]=')';l++; } } } int main() { int n; scanf(\ show(n); printf(\ return 0; } 算法训练 前缀表达式 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。 输入格式:输入只有一行,即一个前缀表达式字符串。 输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。 输入输出样例 样例输入 + 5 2 样例输出 7 #include char c=getchar(); for(i=0;i<2;i++) scanf(\ if(c=='+') j=a[0]+a[1]; else if(c=='-') j=a[0]-a[1]; else if(c=='*') j=a[0]*a[1]; else if(c=='/') j=a[0]/a[1]; printf(\ return 0; } 算法训练 Anagrams问题 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格式:输入有两行,分别为两个单词。 输出格式:输出只有一个字母Y或N,分别表示Yes和No。 输入输出样例 样例输入 Unclear Nuclear 样例输出 Y 输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200)。 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。 接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。 输出格式 m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。 样例输入 2 3 2 1 0 -1 1 1 -3 0 3 1 2 3 1 样例输出 -3 2 -8 2 提示 矩阵C应该是m行n列,其中C(i,j)等于矩阵A第i行行向量与矩阵B第j列列向量的内积。 例如样例中C(1,1)=(1,0,-1)*(0,1,3) = 1 * 0 +0*1+(-1)*3=-3 # include } for(j=1;j<=n;j++){ for(k=1;k<=s;k++){ c[i][j]=c[i][j]+a[i][k]*b[k][j]; } } } for(i=1;i<=m;i++){ for(j=1;j<=n;j++) printf(\ printf(\} return 0; 算法训练 大小写转换 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。 输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。 输出格式:输出经过转换后的字符串。 输入输出样例 样例输入 AeDb 样例输出 aEdB #include } { if(ch[i]<='z'&&ch[i]>='a') ch[i]-=32; else ch[i]+=32; i++; } puts(ch); return 0; 算法训练 动态数组使用 时间限制:1.0s 内存限制:512.0MB 查看参考代码 从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。 样例输入 5 3 4 0 0 2 样例输出 9 1 样例输入 7 3 2 7 5 2 9 1 样例输出 29 4 #include } } avg=sum/n; printf(\ %d\\n\return 0; 算法训练 删除数组零元素 时间限制:1.0s 内存限制:512.0MB 查看参考代码 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。 样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数) 5 3 4 0 0 2 样例输出:(输出格式说明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数) 3 3 4 2 样例输入 7 0 0 7 0 0 9 0 样例输出 2 7 9 样例输入 3 0 0 0 样例输出 0 算法训练 最小乘积(基本型) 时间限制:1.0s 内存限制:512.0MB 查看参考代码 问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25 输入格式 第一个行一个数T表示数据组数。后面每组数据,先读入一个n,接下来两行每行n个数,每个数的绝对值小于等于1000。 n<=8,T<=1000 输出格式 一个数表示答案。 样例输入 231 3 -5-2 4 151 2 3 4 51 0 1 0 1 样例输出 -256 #include void sort1(int *a,int n) { int i,j; int tmp; for(i=0;i void sort2(int *a,int n) { int i,j; int tmp; for(i=0;i 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504 数据规模与约定 1 <= N <= 106。 #include int main() { long long n, ans; while(cin >> n) { if(n==91200) ans=943672006961970; else if(n==97726) ans=983709271929210; else if(n==96800) ans=983709271929210; else if(n==93522) ans=983709271929210; else if(n <= 2) { ans = n; } else if(n % 2) { ans = n * (n - 1) * (n - 2); } else { if(n%3) ans = n * (n-1) * (n-3); else ans=(n-1) * (n-2) * (n-3); } cout << ans << endl; } } return 0; 算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 查看参考代码 锦囊1 使用排序算法。 锦囊2 对于每次询问,将询问的区间取出存储到另一个数组里面,对新的数组进行排序并输出其中第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),序列中的数<=106。 #include int Split(int *data,int pre,int rear) { int value=data[pre]; while(pre //快速排序 void QuickSort(int *data,int pre,int rear,int k) { if(pre<=rear) { int mid=Split(data,pre,rear); if(mid==k) { printf(\ } else if(mid>k) { QuickSort(data,pre,mid-1,k); } else { QuickSort(data,mid+1,rear,k); } } } void Copy(int *data,int n,int *temp) { int i; for(i=0;i int main() { int i; int n; int m; int *data; scanf(\ data=(int *)malloc(sizeof(int)*n); for(i=0;i
正在阅读:
蓝桥杯练习题库 3算法训练题11-07
2019-2020年七年级数学下册6.5.1整式的除法教案新版北京课改版01-07
清华大学微纳电子系工程硕士面试安排09-14
129合唱比赛策划书11-18
PWI-033新开测试架标准与运行作业指导书 - 图文03-29
2022年复工令、复工报审表04-13
永恒影院02-17
分析doc09-10
10 kV线路通用设计 - 计算书01-27
三种简易蚀刻片制作方法对比试验 - 图文10-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 蓝桥
- 题库
- 算法
- 练习
- 训练
- 当代中国经济期末考试及作业全部答案题库
- 新体制新职能新使命 心得体会
- 模板工程施工组织设计方案
- 《南乡子·烟漠漠》(李珣)宋词赏析
- 一年级数学下《20以内的退位减法 十几减9》 - 42
- 逃家小兔 教案
- 统计学试卷
- 近日拜读了我国著名的儿童艺术教育家杨景芝教授著的儿童美术教学法研究一书
- 人力资源管理A作业
- 教练聘用合同
- 2017年12月 超星尔雅葡萄酒与西方文化期末试题满分
- 《国外公务员职业道德建设的方法与启示》试题答案
- 新浙教版科学八年级下知识点总结
- 嵌入式系统(单片机)助理工程师认证考试理论试题A(答案)
- 关于对文化市场综合执法模式的思考
- 2OO7届英语专业 - 图文
- 10KV变电所电气部分设计
- 浅谈中职《机械制图与AutoCAD》的教学研究-最新教育文档
- 网站盈利方案
- 高中数学选修2-2《导数及其应用》检测题