蓝桥杯 线上课程
如意的小家
这个作者很懒,什么都没留下…
展开
-
递归原理和构造技巧(振兴中华)
建立如图所示的平面直角坐标系: 代码如下: 方法一:(递归法) package sf_02; public class Main { static int f(int x,int y){ if(x==1||y==1) return 1; return f(x-1,y)+f(x,y-1); } pu...原创 2018-03-07 23:58:16 · 343 阅读 · 0 评论 -
暴力破解与实用性优先(年龄谜题、九宫幻方)
一、年龄谜题 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。 他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。 于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。 方...原创 2018-03-05 23:22:46 · 1411 阅读 · 1 评论 -
暴力破解与实用性优先(罗马数字)
题目描述: 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: I 1 V 5 X 10 L 50 C 100 D 500 M 10...原创 2018-03-06 17:28:11 · 689 阅读 · 1 评论 -
数学知识的应用(日期差问题)
必备小常识:闰年的判断方式 package sf_02; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { /** * @param args */ /* * 日期差的问题 ...原创 2018-03-23 23:50:47 · 311 阅读 · 0 评论 -
博弈问题的思路(填字母游戏(平局博弈))
填字母游戏: K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。 1. 轮到某人填的时候,只能在某个空格中填入L或O 2. 谁先让字母组成了“LOL”的字样,谁获胜。 3. 如果所有格子都填满了,仍无法组成LOL,则平局。 小明试验了几次都输了,他很惭愧,希望你能用计算机帮他解开这个谜。 本题的输入格式为: 第一行,数字n(n<10),表示下面有n个初始局面。 接下来,n...原创 2018-03-24 09:58:02 · 608 阅读 · 0 评论 -
随机算法(古代赌局)
古代赌局: 俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。 不过也不尽然,有些赌局背后藏有的是:“阳谋”。 有一种赌局是这样的:桌子上放六个匣子,编号是1至6。 多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。 所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。 输赢规则如下: 1.若只有1个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押...原创 2018-03-24 11:57:45 · 634 阅读 · 0 评论 -
数学知识的应用
A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 请填写出所有符合要求的排列中,字典序最小的那个。 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。 解题思路:该方法的巧妙之处在于,将所有的元素进行了全排列,然后将满足要求的元素放入set中,而由...原创 2018-03-19 00:15:12 · 258 阅读 · 0 评论 -
数学知识的应用(一步之遥--暴力、欧几里得)
从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通过多次操作F和B可以办到。 矿车上...原创 2018-03-18 23:34:09 · 242 阅读 · 0 评论 -
数学知识的应用(使用了BigInteger,1/3+1/6=1/2)
由于0.1+0.2!=0.3; 使用大整数来保存分子和分母即可。 package sf_05; import java.math.BigInteger; public class Main { public static class Rati{ private BigInteger zi=BigInteger.ZERO;//令分子为0 priva...原创 2018-03-18 23:10:55 · 346 阅读 · 0 评论 -
递归原理与构造技巧(出栈顺序)
代码如下: 代码如下: package sf_03; public class Main { /* * a:等待进栈的车辆数。 * b:栈中的个数 */ static int g(int a,int b){ //左面没有车辆入栈了 if(a==0) return 1; //栈中为空...原创 2018-03-08 00:19:46 · 464 阅读 · 0 评论 -
递归原理与构造技巧(趣味算式)
代码如下: package sf_04; public class Main { /* * a表示参加运算的元素 * b表示考虑的元素的下标 * so代表结果串 * goal代表计算目标 */ static void f(int a[],int k,String so,int goal){ /* ...原创 2018-03-08 23:43:09 · 242 阅读 · 0 评论 -
递归原理与构造技巧(车票找零)
公园票价为5角。假设每位游客只持有两种币值的货币:5角、1元。 再假设持有5角的有m人,持有1元的有n人。 由于特殊情况,开始的时候,售票员没有零钱可找。 我们想知道这m+n名游客以什么样的顺序购票则可以顺利完成购票过程。 显然,m < n的时候,无论如何都不能完成; m>=n的时候,有些情况也不行。比如,第一个购票的乘客就持有1元。 请计算出这m+n名游客所有可能顺利完成...原创 2018-03-10 21:10:24 · 197 阅读 · 0 评论 -
递归原理与构造技巧(第39级台阶)
小明刚刚看完电影《第39级台阶》。离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 分析如下: 根据已知条件可知,当走过的台阶数为39时,结束...原创 2018-03-10 21:58:13 · 348 阅读 · 0 评论 -
典型问题的递归框架(全排列)
一、方法一(List集合) package sf_01; import java.util.List; import java.util.Vector; public class Main { public static List f(String s){ List list=new Vector(); if(s.length()==1){ ...原创 2018-03-11 23:28:50 · 229 阅读 · 0 评论 -
分治法与动态规划 最大字段和问题
代码如下: 思路: 方法一: package sf_2; public class Main { public static int f(int a[],int begin,int end){ int sum=0; if(end==begin){ if(a[begin]>0) sum...原创 2018-03-24 15:47:20 · 880 阅读 · 0 评论