lanqiaobei
cairuojin
这个作者很懒,什么都没留下…
展开
-
蓝桥杯考试 递归题:蚂蚁感冒
题目:长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】第一行输入一个整数n (1 接着的一行原创 2018-03-16 10:18:54 · 318 阅读 · 0 评论 -
蓝桥杯考试 公倍公约数的计算
欧几里得:gcd(a,b)=gcd(b,a%b)求a b 的公约数,可变为求b和a%b的公约数 求出公约数后 a*b / 最大公约 = 最小公倍public class _4_数学_04公倍公约 { public static int gcd(int a,int b) { if(b==0) { return a; } else return gcd(b原创 2018-03-25 22:03:24 · 191 阅读 · 0 评论 -
蓝桥杯考试 一步之遥 欧几里得的扩展
题目从昏迷中醒来,小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃的轨道上。他的面前是两个按钮,分别写着“F”和“B”。小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。按F,会前进97米。按B会后退127米。透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。或许,通过多次操原创 2018-03-25 22:12:07 · 286 阅读 · 0 评论 -
蓝桥杯考试 素数的筛法
题目:求第N个素数,此时N较大,应运用筛法,提高效率public class _4_数学_06素数_筛法 { public static void main(String[] args) { long first = System.currentTimeMillis(); byte[] arr = new byte [1300000]; //节约空间 标记为1的不是素数原创 2018-03-26 09:56:02 · 229 阅读 · 0 评论 -
蓝桥杯考试 日期的计算
题目://计算1979年12月15日到2015年3月2日差几天 分析:将两个日期都转化为公元1年1月1日再将数值相减public class _5_博弈_00日期计算 { public static boolean isrunnian(int year) //判断是不是闰年 是4的倍数 不是100的倍数 是400的倍数 { if(year%400==0) return t原创 2018-03-26 10:20:14 · 1522 阅读 · 0 评论 -
蓝桥杯考试 excel的列
题目 Excel单元格的地址表示很有趣,它使用字母来表示列号,比如:A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,....当然Excel的最大列号是有限度的,所以转换起来不难。如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢?本题目既是要求对输入的数字, 输出其对应的Excel地原创 2018-03-26 10:27:00 · 698 阅读 · 0 评论 -
蓝桥杯考试 博弈问题的思路
题目今盒里有n个小球,A、B两人轮流从盒中取球。每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个。两人都很聪明,不会做出错误的判断。每个人从盒子中取出的球的数目必须是:1,3,7或者8个。轮到某一方取球时不能弃权!A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方) 编程确定出在双方都不判断失误的情况下原创 2018-03-26 14:05:22 · 629 阅读 · 0 评论 -
蓝桥杯考试 博弈问题 填字母
题目K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希望你能用计算机帮他解开这个谜。本题的输入格式为:第一行,数字n(n接下来,n行,每行一个串,表示开始的原创 2018-03-26 18:26:42 · 332 阅读 · 0 评论 -
蓝桥杯考试 博弈问题 高僧斗法
题目:古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图所示)两位参加斗法的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻原创 2018-03-26 18:38:49 · 377 阅读 · 0 评论 -
蓝桥杯考试 分治法
题目找到一个数组中比给的数大一点的数int[]arr={1,3,5,9,12,40,70,85,90,99};分析:运用分治法,从中间切一刀,看看再切的位置满不满足条件,不满足再在左边或者右边搜索public class _6_分治_01二分查找1 { public static int F(int[]arr,int begin,int end,int n) { if原创 2018-03-26 21:16:20 · 712 阅读 · 2 评论 -
蓝桥杯考试 分治法 求最大序列和
public class _6_分治_02最大序列和1 { public static int F(int[]arr,int begin,int end ) { if(end-begin ==1) //递归出口,只有一个元素了 大于0选上 小于零不选 return arr[begin]>0?arr[begin]:0; int k = (begin+end)/2;原创 2018-03-26 21:24:02 · 469 阅读 · 0 评论 -
蓝桥杯考试 尼姆堆
题目有3堆硬币,分别是3,4,5二人轮流取硬币。每人每次只能从某一堆上取任意数量。不能弃权。取到最后一枚硬币的为赢家。求先取硬币一方有无必胜的招法。分析:任何无偏博弈游戏都可以转换为尼姆堆 求解尼姆堆的方法为 将每个堆转换为二进制并且异或 如果结果为0则此时先手的必输。即当结果为0时为P态,否则为N态,我们的目标就是,判断现在是不是P态,如果是,则我们必输,如果原创 2018-03-25 22:00:53 · 369 阅读 · 0 评论 -
蓝桥杯考试 :找规律 天平称重
题目:用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。如果只有5个砝码,重量分别是1,3,9,27,81则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中)。本题目要求编程实现:对用户给定的重量,给出砝码组合方案。例如:用户输入:5程序输出:9-3-1用户输入:19程序输出:27-9+1分析找原创 2018-03-25 21:32:09 · 730 阅读 · 0 评论 -
蓝桥杯考试 递归题:搭积木
题目 小明最近喜欢搭数字积木。一共有10块积木,每个积木上有一个数字,0~9。搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。 最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法: 0 1 2 3 4 56 7 8 9 0 3 1 7 5 29 8 6 4 请你计算这样的搭法一共有多少种?分析:0必然在最上方,新建一个原创 2018-03-16 10:23:09 · 395 阅读 · 0 评论 -
蓝桥杯考试 递归:全排列的方法
全排列共采用了两种递归的方法第一种,依次让每个字母排在首位public static List G(String str) //每个字母做开头 依次加上后面的全排列 { List lst = new ArrayList(); //返回此列表 if(str.length()==1) //出口,已经只剩一个元素了 { lst.add(str); return lst;原创 2018-03-16 10:48:13 · 849 阅读 · 0 评论 -
蓝桥杯考试 递归题:代表团出访:重复字母的组合
题目:X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。D国最多可以派出1人。E国最多可以派出1人。F国最多可以派出3人。那么最终派往W星的观察团会有多少种国别的不同组合呢?分析:转换思想,新建一维数组[4,2,2,1,,1,3]为限制条件,依次让每个国家排除0-N个人,加起来为5人原创 2018-03-16 10:27:19 · 556 阅读 · 1 评论 -
蓝桥杯考试 递归:组合,无重复时候的组合的枚举以及计算总数
import java.util.*;public class _3_递归_组合 { public static List F(String str,int n) //枚举全部 { List lst = new ArrayList(); if(n==0) { lst.add(""); return lst; } for(int i=0;i<st原创 2018-03-16 11:15:08 · 227 阅读 · 0 评论 -
蓝桥杯考试 递归题:车辆进栈
X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?为了方便起见,假设检查站可容纳任意数量的汽车。显然,如果车...原创 2018-03-09 20:39:01 · 587 阅读 · 0 评论 -
蓝桥杯考试 递归题:上楼梯
运用递归 递归出口为走完39个台阶,当步数为偶数的时候方案+1 递归的过程为每次走1或者2步,剩下的步数依次减1或者2 代码如下package _9上课;public class _2_递归_02上楼梯 { /** * 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶, * 有多少种不同的上法呢? 请你利...原创 2018-03-09 20:41:22 · 1324 阅读 · 0 评论 -
蓝桥杯考试 递归题:算式填符号i
递归往数组中写入数字,分别组合,加,和减 满足条件的时候输出import java.util.Arrays;public class _2_递归_04算110 { /** * 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 ...原创 2018-03-10 19:50:17 · 575 阅读 · 0 评论 -
蓝桥杯考试 分治法 大数乘法
两个大数字相乘 用JAVA当然可以用BigInteger来算,这里写的是如何用分治法进行运算 例如123456*654321 可以把两个大数字分别才成两半即123*654 (补6个0)+ 【456*654 +123*321 】(补3个零)+456*321 每次都将大数字拆成两半运算后加起来(调用大数的加法)import java.math.BigInteger;public clas原创 2018-03-26 21:41:09 · 453 阅读 · 0 评论