
蓝桥杯
还需要学习的萌新
这个人是条懒狗,什么也没留下
展开
-
蓝桥杯C语言培训6 分治法与动态规划 最大连续部分和
题目描述:数组中整数有正有负求一连续子段,使得和最大化例如:2,4,-7,5,2,-1,2,-4,3最大连续段:5,2,-1,2其最大和为8代码:#include<bits/stdc++.h>int a[9] = {2,4,-7,5,2,-1,2,-4,3};int f(int a[],int start,int end){ if(end - start ...原创 2018-03-21 22:20:01 · 614 阅读 · 0 评论 -
蓝桥杯C语言培训作业1 信用卡号的验证
【信用卡号的验证】 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。 该校验的过程: 1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。 2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。 3、将奇数位总和加上偶数位总和,结果应该可...原创 2018-03-05 21:23:28 · 1393 阅读 · 3 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 例题4 组合计数(元素可以相同)
题目:有重复的字母中求取出m个所有组合例如: "AAABBCCCCCCDD" 中取3个字母的所有组合代码:#include<stdio.h>int count = 0;void print(int x[])//打印程序{ for(int i = 0 ; i < 4 ; i++) { for(int j = 0 ; j < x[...原创 2018-03-12 21:20:57 · 430 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例4 取球问题(无偏博弈)
题目描述:今盒里有n个小球,A、B两人轮流从盒中取球。每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个。两人都很聪明,不会做出错误的判断。每个人从盒子中取出的球的数目必须是:1,3,7或者8个。轮到某一方取球时不能弃权!A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方) 编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?无偏博弈是最...原创 2018-03-18 16:12:55 · 2855 阅读 · 1 评论 -
蓝桥杯C语言基础练习 报时助手
题目描述给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero, 1: one, ...原创 2018-03-05 09:10:35 · 1617 阅读 · 2 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 例题3 组合计数(元素互不相同)
从m个互不相同的元素中取出n个有多少种不同取法。(递归解决)#include<stdio.h>#include<string.h>int count = 0;//假设在m个元素中有一个做了标记,那么下一次取,要么取到这个(f(m-1,n-1)),要么取不到这个 (f(m-1,n)); int f(int m,int n){ if(m == n) r...原创 2018-03-11 20:10:29 · 479 阅读 · 0 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 例题2 搭积木
题目描述:小明最近喜欢搭数字积木。一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法: 0 1 2 3 4 56 7 8 9 0 3 1 7 5 29 8 6 4 请你计算这样的搭法一共有多少种?思路 用递归求出10个数所有的排序列,检查是否满...原创 2018-03-11 19:26:17 · 1086 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例3 国庆节星期几(培训4补充)
题目描述:1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。那么,从建国到现在,有几次国庆节正好是星期日呢?只要答案,不限手段!可以用windows日历,windows计算器,Excel公式,。。。。。当然,也可以编程!代码:#include<stdio.h>int isLeapyear(int i){ if(i%100 == 0) ...原创 2018-03-17 18:56:38 · 504 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例2 高斯日记(培训4补充)
题目描述:大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年...原创 2018-03-17 19:00:42 · 362 阅读 · 0 评论 -
蓝桥杯C语言基础练习 2n皇后问题
题目描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入输入的第一行为一个整数n,表示棋盘的大小。接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置...原创 2018-03-04 16:39:20 · 1617 阅读 · 0 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 例题1 排列枚举
已知不同字母构成的串,求它的全排列。#include<stdio.h>#include<stdlib.h>#include<string.h>void f(char* b,int loc){ if(loc == strlen(b) - 1) { printf("%s\n",b); return;...原创 2018-03-11 17:19:56 · 341 阅读 · 0 评论 -
蓝桥杯C语言培训1例题(1) 九宫幻方(枚举法的应用)
题目描述小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分。三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀: “二四为肩,六八为足,左三右七,戴九履一,五居其中”, 通过这样的一句口诀就能够非常完美的构造出一个九宫格来。 4 9 2 3 5 7 8 ...原创 2018-03-06 09:31:46 · 4393 阅读 · 1 评论 -
蓝桥杯C语言培训3 例题5 蚂蚁感冒(排序、判断、模拟)
题目描述长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。 输入第一行输入一个整数n (1 < n < 50), ...原创 2018-03-13 14:08:14 · 499 阅读 · 0 评论 -
蓝桥杯C语言培训6 分治法与动态规划 二分查找
题目描述:已知有序的序列,比如:2,3,3,5,9,9,9,12,12,13,15,22,22,22,22,25,25,27,91,95有整数x,比如: x=23要求找到一个刚好比x稍微大一点的元素位置,当数组较大的时候,需要二分查找加快速度。#include<bits/stdc++.h>int a[20] = {2,3,3,5,9,9,9,12,12,13,15,22,22,22...原创 2018-03-21 20:06:18 · 343 阅读 · 0 评论 -
蓝桥杯 基础练习 矩形面积交
Description平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。Input输入仅包含两行,每行描述一个矩形。在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。Output输出仅包含一个实数,为交的面积,保留到小数后两位。Sample Input1 1 3 32 2 ...原创 2018-03-30 18:28:35 · 384 阅读 · 1 评论 -
蓝桥杯C语言培训5 博弈问题的思路 作业 火柴游戏
题目描述:这是一个纵横火柴棒游戏。如图1,在3x4的格子中,游戏的双方轮流放置火柴棒。其规则是:1. 不能放置在已经放置了火柴棒的地方(即只能在空格中放置)。2. 火柴棒的方向只能是竖直或水平放置。 3. 火柴棒不能与其它格子中的火柴“连通”。所谓连...原创 2018-03-21 16:42:22 · 629 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例7 古代赌局
题目描述:俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:1.若只有1个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付(...原创 2018-03-20 16:35:47 · 2579 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例6 高僧斗法(尼姆堆)
题目描述:古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图所示)两位参加斗法的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过。两个小和尚也不能站在同...原创 2018-03-20 14:27:29 · 513 阅读 · 0 评论 -
蓝桥杯C语言基础练习 回形取数(模拟法)
题目描述回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 3 1 2 3 4 5 6 7 8 9 样例输出...原创 2018-03-06 16:38:12 · 1582 阅读 · 2 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例5 填字游戏(有平局博弈)
题目描述:K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希望你能用计算机帮他解开这个谜。本题的输入格式为:第一行,数字n(n<10),表示下面有n个初始局面。接下来,n行,每行一个串,表示开始的局...原创 2018-03-19 17:33:19 · 923 阅读 · 0 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 例题6 代表团出访(组合枚举)
题目描述:X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。D国最多可以派出1人。E国最多可以派出1人。F国最多可以派出3人。那么最终派往W星的观察团会有多少种国别的不同组合呢?代码:#include<stdio.h>int count = 0;void print(int x[]){ for(int ...原创 2018-03-13 16:37:27 · 305 阅读 · 0 评论 -
蓝桥杯C语言培训3 典型问题的递归框架 作业 扑克序列
问题描述:A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。请填写出所有符合要求的排列中,字典序最小的那个。例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。依然套的模板,但是不知道如何消除重复。但是本题重复并不影响最终结果。菜鸟做法,欢迎批评。#incl...原创 2018-03-13 16:00:58 · 371 阅读 · 1 评论 -
蓝桥杯C语言培训1例题(3) 年龄谜题(枚举法的应用)
题目描述美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”请你推算一下,他当时到底有多年轻。思路由于很年轻,所以假设年龄在10—20岁之间,枚...原创 2018-03-06 12:38:24 · 974 阅读 · 0 评论 -
蓝桥杯C语言培训1例题(2) 罗马数字(枚举法的应用)
题目描述古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念!罗马数字的表示主要依赖以下几个基本符号:I --> 1V --> 5X --> 10L --> 50C --> 100D ...原创 2018-03-06 12:24:52 · 1210 阅读 · 0 评论 -
蓝桥杯C语言培训5 博弈问题的思路 例1 excel地址(培训4补充)
题目描述:Excel单元格的地址表示很有趣,它使用字母来表示列号,比如:A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,....当然Excel的最大列号是有限度的,所以转换起来不难。如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢?本题目既是要求对输入的数字, 输出其对应的Excel地址表示方式。例如,输入:26则程序应该输出:...原创 2018-03-17 13:41:04 · 577 阅读 · 0 评论 -
蓝桥杯C语言培训2 递归原理与构造技巧 作业 找钱问题
公园票价为5角。假设每位游客只持有两种币值的货币:5角、1元。再假设持有5角的有m人,持有1元的有n人。由于特殊情况,开始的时候,售票员没有零钱可找。我们想知道这m+n名游客以什么样的顺序购票则可以顺利完成购票过程。显然,m < n的时候,无论如何都不能完成;m>=n的时候,有些情况也不行。比如,第一个购票的乘客就持有1元。请计算出这m+n名游客所有可能顺利完成购票的不同情况的组合数目...原创 2018-03-10 20:33:36 · 660 阅读 · 1 评论 -
蓝桥杯C语言基础练习 高精度加法
问题描述输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的...原创 2018-02-11 00:50:59 · 2465 阅读 · 1 评论 -
蓝桥杯C语言基础练习 阶乘计算
问题描述输入一个正整数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时,即得到了n!的值。输入描述输入包含一个正整数n...原创 2018-02-10 20:30:49 · 2116 阅读 · 0 评论 -
蓝桥杯C语言基础练习 杨辉三角形
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在...原创 2018-02-09 13:44:50 · 2326 阅读 · 1 评论 -
蓝桥杯C语言基础练习 字母图形
原创 2018-02-05 17:24:35 · 4305 阅读 · 14 评论 -
蓝桥杯C语言基础练习 数列特征
原创 2018-02-05 18:46:10 · 742 阅读 · 1 评论 -
蓝桥杯C语言基础练习 查找整数
原创 2018-02-06 00:56:11 · 1744 阅读 · 0 评论 -
蓝桥杯C语言基础练习 回文数
原创 2018-02-06 01:10:54 · 1388 阅读 · 0 评论 -
蓝桥杯C语言基础练习 十六进制转十进制
普通方法直接转化为十进制代码#include<stdio.h>#include<string.h>#include<math.h>int getN(char s){ char nn; switch(s) { case '0':nn=0;break; case '1':nn=1;break; ...原创 2018-02-06 13:13:17 · 1525 阅读 · 0 评论 -
蓝桥杯C语言基础练习 十六进制转八进制
原创 2018-02-09 12:36:10 · 7178 阅读 · 17 评论 -
蓝桥杯C语言基础练习 十进制转十六进制
原创 2018-02-09 13:01:31 · 8263 阅读 · 1 评论 -
蓝桥杯C语言基础练习 特殊回文数
原创 2018-02-06 01:25:44 · 1772 阅读 · 0 评论 -
蓝桥杯C语言基础练习 Huffuman树
题目描述Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个数...原创 2018-02-11 18:08:24 · 820 阅读 · 0 评论 -
蓝桥杯C语言基础练习 龟兔赛跑预测(模拟法)
题目描述话说这个世界上有各种各样的兔子和乌龟,但是 研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以 上,它们就会停下来休息s秒。对于不同的兔子,t,s...原创 2018-03-06 21:34:50 · 3233 阅读 · 3 评论 -
蓝桥杯C语言培训4 数学知识的运用 作业 求素数(素数的筛法)
题目描述:第1个素数是2,第2个素数是3,... 求第100002(十万零二)个素数分析:素数的分布密度表如下 范围 素数的个数 素数的概率可见,素数的分布密度随着范围的扩大越来越小,若用暴力破...原创 2018-03-16 15:58:58 · 451 阅读 · 0 评论