自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 Python 第一部分 起步

Python 第一部分 起步1.1 搭建编程环境 1.1.1 Python2和Python3 当前,Python有两个不同的版本:Python2和Python3。如果你的系统安装了两个这两个版本,那么请使用Python3;如果没有安装Python,请安装Python3;如果只安装了Python2,也可直接使用它来编写程序,但还是尽快升级到Python3为好,

2017-09-11 22:45:26 1334

原创 KMP算法

KMP算法是一种改进的字符串匹配的算法。1.关键是利用匹配失败后的信息,尽量减少模式串和朱穿的匹配次数以达到快速匹配的目的。具体实现就是实现一个next[]函数,函数本身包含了模式串的局部匹配信息。2.执行时间:O(m+n),其中m,n代表字符串S和T的长度。代码:#include#includeusing namespace std;int next[100];

2016-05-19 20:22:11 632

原创 模式匹配算法(BF)

BF(Brute Force)算法是普通的模式匹配算法。1.其思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,一次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。2.最好情况:O(m+n);最坏情况:O(m*n),其中m,n代表字符串S和T的长度。代码:

2016-05-19 20:13:33 1049

原创 队列的顺序存储——循环队列

队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。1.允许插入(也称入队、进队)的一端称为队尾,允许删除(也称出队)的一端称为队头。队列的这种首尾相接的顺序存储称为循环队列。1.为了实现元素出队之后,不移动其他的数据元素,并且可以循环利用空闲下来的数组空间。2.队空的条件:start==rear。3.队满的条件:(rear+1)%QueueSize==start。

2016-05-16 23:55:54 1263

原创 栈的链接存储——链栈

通常链栈用单链表表示,因此其结点结构与单链表的结点结构相同。因为只能在栈顶执行插入和删除操作,显然以单链表的头部做栈底是最方面的,而且没有必要像单链表那样为了运算方便附加一个头结点。代码:#includeusing namespace std;#define null 0struct Node{ int data; Node *next;};

2016-05-16 23:46:28 968

原创 栈的顺序存储——共享栈

代码:#includeusing namespace std;const int MaxSize=100;class BothStack{private: int data[MaxSize]; int top1,top2;public: BothStack(){top1=-1;top2=MaxSize;} BothStack(int a[],i

2016-05-16 19:15:01 1649

原创 栈的顺序存储——顺序栈

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。1.向一个栈插入新元素又称为进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之称为新的栈顶元素。2.从一个栈删除元素又称为出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。代码:#includeusing nam

2016-05-16 19:09:08 1194

原创 蓝桥杯:图形显示

题目: 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):  * * * * *  * * * *  * * *  * *  *代码:#includeusing namespace std;int main(){ int n; cin>>n; if(n<=0) return 0;

2016-05-15 19:56:51 1062

原创 蓝桥杯:排序

题目:编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。  输入格式:输入只有一行,即三个整数,中间用空格隔开。  输出格式:输出只有一行,即排序后的结果。  输入输出样例样例输入9 2 30样例输出30 9 2代码:#include#includeusing namespace std;bool cmp(int

2016-05-15 15:27:50 552

原创 蓝桥杯:2的次幂表示

题目:任何一个正整数都可以用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 

2016-05-15 15:19:11 1637

原创 蓝桥杯:前缀表达式

题目:编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。  输入格式:输入只有一行,即一个前缀表达式字符串。  输出格式:输出相应的计算结果(如

2016-05-15 14:46:16 1550

原创 蓝桥杯:Anagrams问题

题目:Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。  输入格式:输入有两行,分别为两个单

2016-05-15 14:33:22 686

原创 蓝桥杯:出现次数最多的整数

题目:编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。  输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。  输出格式:输

2016-05-14 23:12:19 1173

原创 蓝桥杯:字串统计

题目:给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式  第一行一个数字L。  第二行是字符串S。  L大于0,且不超过S的长度。输出格式  一行,题目要求的字符串。  输入样例1:  4  bbaabbaaaaa  输出样

2016-05-14 22:30:15 2291 1

原创 线性表的链接存储——循环双链表

在单链表的每个结点中再设置一个指向其前驱结点的指针域,这样就形成了双链表,再将头结点和尾结点连接起来也就能构成循环双链表。1.无论是插入还是删除操作,对链表中开始结点、终端节点和中间任意结点的操作过程相同。2.设指针p指向循环双链表中的某一结点,则循环双链表具有如下对称性:(p->prior)->next=p=(p->next)->prior代码:#includeusi

2016-05-14 14:21:23 623

原创 线性表的链接存储——单链表

单链表是用一组任意的存储单元存放线性表的元素。1.为了能正确表示元素之间的逻辑关系,没个存储单元在存储数据元素的同时,还必须存储其后继元素所在的地址信息,这个地址信息称为指针,这两部分组成了数据元素的存储映像,称为结点。2.单链表中每个结点的存储地址存放在其前驱结点的next域中,而第一个元素无前驱,所以设头指针(head pointer)指向第一个元素所在结点(称为开始结点),整个单链表

2016-05-14 13:31:40 1864

原创 线性表的顺序存储——顺序表

线性表,简称表,是n(n>=0)个具有相同类型的数据元素的有限序列。1)线性表是一个相当灵活的数据结构,对线性表的数据元素不仅可以进行存取访问,还可以进行插入和删除等操作。2)a1称为第1个元素,an称为最后一个元素,任意一对相邻的数据元素a(i-1)和a(i) (1序偶关系,且a(i-1)称为a(i)的前驱,a(i)称为a(i-1)的     后继。在这个序列中,元素a1无前驱,元素

2016-05-14 13:20:56 1004

原创 蓝桥杯:矩阵乘法

题目:描述  输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式  第一行,空格隔开的三个正整数m,s,n(均不超过200)。  接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。  接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式  m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。样例输入2

2016-05-13 21:03:52 1084

原创 蓝桥杯:大小写转换

题目:编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。  输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。  输出格式:输出经过转换后的字符串。  输入输出样例样例输入AeDb样例输出aEdB代

2016-05-13 20:49:09 566

原创 蓝桥杯:动态数组使用

题目:从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。样例输入53 4 0 0 2样例输出9 1样例输入73 2 7 5 2 9 1样例输出29 4代码:#includeusing namespace std;int Sum(in

2016-05-13 20:25:21 667

原创 蓝桥杯:删除数组零元素

题目:从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。  样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)

2016-05-13 20:15:54 1777

原创 蓝桥杯:最小乘积(基本型)

题目:给两组数,各n个。  请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。  例如两组数分别为:1 3  -5和-2 4 1  那么对应乘积取和的最小值应为:  (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式  第一个行一个数T表示数据组数。后面每组数据,先读入一个n,接下来两行每行n个数

2016-05-12 21:09:02 1496

原创 蓝桥杯:Torry的困惑(基本型)

题目:Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式  仅包含一个正整数

2016-05-12 20:44:14 766

原创 蓝桥杯:寻找数组中最大值

题目:对于给定整数数组a[],寻找其中最大值,并返回下标。输入格式  整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。输出格式  输出最大值,及其下标样例输入33 2 1样例输出3 0代码:#include#includeusing namespace std;

2016-05-11 21:26:14 961

原创 蓝桥杯:K好数

题目:如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对100000000

2016-05-11 17:34:24 594

原创 蓝桥杯:最大最小公倍数

题目:已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 分析:1.我是写出一些数字来,觉得肯定是越靠后的数的组合的最小公倍数越大,所以就找最后几位数来找规律。2,.最开始的时候没有发现

2016-05-11 16:30:47 556

原创 蓝桥杯:区间K大数查询

题目:给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答

2016-05-09 21:38:56 503

原创 蓝桥杯:回文数

题目:1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式  按从小到大的顺序输出满足条件的四位十进制数。代码:#includeusing namespace std;int main(){ for(int i=1000;i<10000;i++){ int a=i/1000; int b=i%1000/1

2016-03-27 20:26:32 773

原创 蓝桥杯:特殊的数字

题目:153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。代码:#includeusing namespace std;int main(){ for(int i=100;i<1000;i++){

2016-03-27 20:24:42 652

原创 蓝桥杯:杨辉三角形

题目:杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:   1  1 1 1 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输

2016-03-27 20:22:33 1011

原创 蓝桥杯:查找整数

题目:给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例输出

2016-03-27 20:13:55 815

原创 蓝桥杯:数列特征

题目:给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1

2016-03-27 20:11:39 528

原创 蓝桥杯:字母图形

题目:利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出

2016-03-27 20:08:47 3962 5

原创 蓝桥杯:01字符串

题目:对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011分析

2016-03-27 20:02:31 1549

原创 蓝桥杯:闰年判断

题目:给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格

2016-03-27 20:00:15 503

原创 蓝桥杯:回形取数

题目:回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式  输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式  输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 31 2 34

2016-03-10 20:26:42 5558 8

原创 蓝桥杯:阶乘计算

题目:输入一个正整数n,输出n!的值。  其中n!=1*2*3*…*n。算法描述  n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。  将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。  首先将a设为1,然后乘2,乘3,当乘到n时,即得到了

2016-03-09 17:21:18 2150 2

原创 蓝桥杯:高精度加法

题目:输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述  由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。  定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。  计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位

2016-03-08 21:07:30 2732 1

原创 蓝桥杯:龟兔赛跑预测

题目:话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不

2016-03-08 20:39:32 4388

原创 蓝桥杯:Sine之舞

题目:最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。  不妨设  An=sin(1–sin(2+sin(3–sin(4+...sin(n))...)  Sn=(...(A1+n)A2+n-1)A3+...+2)An+1  FJ想让奶牛们计算Sn的值,请你

2016-03-07 20:55:27 2673

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除