蓝桥杯省赛JavaB组(三到九届真题解析)
蓝桥杯省赛JavaB组(一到九届真题解析)
婷婷T
Bug层出不穷,人生永无止境
展开
-
7-6 方格填数Java
/*方格填数如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?1580请填写表示方案数...翻译 2019-03-19 16:00:03 · 359 阅读 · 0 评论 -
7-2 生日蜡烛Java
/*生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?26请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 *///等差数列求和,(首项+末项)*项数/2public class Main { public...翻译 2019-03-19 11:38:03 · 227 阅读 · 0 评论 -
7-9 取球博弈Java
/*取球博弈两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题。输入格式:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3&l...翻译 2019-03-19 17:43:39 · 226 阅读 · 0 评论 -
7-1 煤球数目Java
/*煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?171700请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。*//*模拟题 *煤球总数=上一层煤球数+本层层号 */public cla...翻译 2019-03-19 11:17:25 · 415 阅读 · 0 评论 -
7-10 压缩变换Java
/*压缩变换小明最近在研究压缩算法。他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。变换的过程如下:从左到右枚举序列,每枚举到一个数字,如果这个数字没有出现过,则将数字变换成...翻译 2019-03-19 17:46:08 · 249 阅读 · 0 评论 -
7-3 凑算式Java
/*凑算式 B DEFA+ --- + ------- = 10 C GHI 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?29*///1-9不同数字,则立马全排列//全排列加check//注意一点是有一个测试...翻译 2019-03-19 14:48:06 · 414 阅读 · 2 评论 -
7-5 抽签Java
/*抽签X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。....那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。数组a[] 中既是每个国家可以派出的最多的名额。程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFF...翻译 2019-03-19 15:14:48 · 177 阅读 · 0 评论 -
7-7 剪邮票Java
图1图2图3/*剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明...翻译 2019-03-19 17:39:26 · 449 阅读 · 0 评论 -
7-4 分小组Java
/*分小组9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DFI EGHABC DGH EFIABC DGI EFHABC ...翻译 2019-03-19 15:00:47 · 284 阅读 · 0 评论 -
7-8 四平方和Java
/*四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b ...翻译 2019-03-19 17:41:22 · 338 阅读 · 0 评论 -
6-5 九数组分数Java
/*九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。//这道题是全排列,要是知道全排列的同学直接就可以写出答案{int t=x[k]; x[k]=x[i]; x[i]=t;} ,不知道的同学可以把递归形式全排列的模版记一下。下面用1-3举例全排列模版public class A{ public sta...翻译 2019-03-17 11:39:27 · 323 阅读 · 0 评论 -
6-8 饮料换购Java
/*饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应...翻译 2019-03-17 16:15:44 · 164 阅读 · 0 评论 -
6-3 三羊献瑞Java
/*三羊献瑞观察下面的加法算式: 祥 瑞 生 辉+ 三 羊 献 瑞------------------- 三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。1085*//*一共有8种不同的数字,可以设一个长度为8...翻译 2019-03-17 10:42:37 · 417 阅读 · 0 评论 -
6-4循环节长度Java
/*循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。下面的方法,可以求出循环节的长度。请仔细阅读代码,并填写划线部分缺少的代码。 public static int f(int n, int m){ n = n % m; Vector v = n...翻译 2019-03-17 11:23:00 · 432 阅读 · 0 评论 -
6-6 加法变乘法Java
/*加法变乘法我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。16*//* * 方法一:等差数列求和:1...翻译 2019-03-17 15:27:55 · 214 阅读 · 0 评论 -
6-10 生命之树Java
import java.io.*;import java.util.*;/*生命之树在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两...翻译 2019-03-17 17:58:06 · 165 阅读 · 0 评论 -
6-1 三角形面积 6-2 立方变自身
图16-1三角形面积如【图1】所示。图中的所有小方格面积都是1。那么,图中的三角形面积应该是多少呢?28直接计算:8*8-1*2(8*4+6*4+8*2)=64-36=28/*6-2立方变自身 * 观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3 = 1 8^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...请...翻译 2019-03-17 10:19:15 · 202 阅读 · 0 评论 -
6-7 牌型种数Java
/*牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?3598180请填写该整数,不要填写任何多余的内容或说明文字。*//*排列组合一般都可以用递归解决。 * 方法一:13张牌,先...翻译 2019-03-17 16:03:54 · 142 阅读 · 0 评论 -
6-9 垒骰子Java
/*垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。两种垒骰子...翻译 2019-03-17 17:54:52 · 241 阅读 · 0 评论 -
5-7 扑克序列Java
/*标题:扑克序列 A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 请填写出所有符合要求的排列中,字典序最小的那个。例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定...翻译 2019-03-16 11:22:20 · 308 阅读 · 0 评论 -
5-5 圆周率Java
/*标题:圆周率 数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。 图1.png中所示,就是一种用连分数的形式表示的圆周率求法。 下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。 结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。 double x = 111; for(in...翻译 2019-03-16 10:41:29 · 419 阅读 · 0 评论 -
5-4 大衍数列Java
/*大衍数列:中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 ...其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。以下的代码打印出了大衍数列的前 100 项。for(int i=1; i<100; i++){ if(________________) //填空...翻译 2019-03-16 10:29:39 · 481 阅读 · 0 评论 -
5-1 武功秘籍Java
/*标题:武功秘籍小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?7这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。*//*最简单的方法: * 根据题意得出书的构造方式,然后...翻译 2019-03-16 10:03:42 · 388 阅读 · 0 评论 -
5-10 矩阵翻硬币Java
/*标题:矩阵翻硬币 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上...翻译 2019-03-17 09:56:50 · 253 阅读 · 0 评论 -
5-8 分糖果Java
/*标题:分糖果 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。【格式要求】 程...翻译 2019-03-16 11:43:28 · 312 阅读 · 0 评论 -
5-6奇怪的分式Java
/*标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数...翻译 2019-03-16 10:57:01 · 208 阅读 · 0 评论 -
5-3 猜字母Java
/*标题:猜字母把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。q答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。*/public class Main{ public...翻译 2019-03-16 10:24:12 · 162 阅读 · 0 评论 -
5-9 地宫取宝Java
/*标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝...翻译 2019-03-16 15:30:45 · 205 阅读 · 0 评论 -
5-2 切面条Java
/*标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?1025答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。*//*方法一:数学归纳法总结出规律,直接算 * 折数为n,则根数为2^n-1...翻译 2019-03-16 10:05:06 · 278 阅读 · 0 评论 -
4-1 世界末的星期Java
/*结果填空题 曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日...... **1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)...翻译 2019-03-15 11:35:51 · 175 阅读 · 0 评论 -
4-8 幸运数Java
/*标题:幸运数 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _ 3 _ 5 _ 7 _ 9 .... 把它们缩紧,重新记序,为: 1 3 5 7 9 .... 。这时,3为第...翻译 2019-03-15 17:41:22 · 169 阅读 · 0 评论 -
4-4 黄金连分数Java
/*黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误, 对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们如何求得黄金分割数的尽可能精确的...翻译 2019-03-15 11:45:59 · 296 阅读 · 0 评论 -
4-6 三部排序Java
//快排变体,极限思维,全部为0,必为p++./*一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: **使得负数都靠左端,正数都靠右端,0在中部。 *注意问题的特点是:负数区域和正数区域内并不要求有序。 *...翻译 2019-03-15 11:49:31 · 283 阅读 · 0 评论 -
4-2 马虎的算式Java
//暴力枚举所有可能性再去重/*标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如...翻译 2019-03-15 11:39:01 · 242 阅读 · 0 评论 -
4-9 带分数Java
/*标题:带分数100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全...翻译 2019-03-15 17:47:32 · 442 阅读 · 0 评论 -
4-5有理数类Java
/*第五题 有理数类 * 有理数就是可以表示为两个整数的比值的数字。 * 一般情况下,我们用近似的小数表示。 * 但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。 这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。 为了简明,它只提供了加法和乘法运算。*/public class Main{...翻译 2019-03-15 11:47:44 · 508 阅读 · 1 评论 -
4-3 振兴中华Java
//熟悉递归(找重复,找变化,找边界),回溯遍历/* 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振我做起振兴做起振兴中起振兴中华比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路...翻译 2019-03-15 11:43:54 · 245 阅读 · 0 评论 -
4-10 连号区间数Java
/*标题:连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输...翻译 2019-03-15 17:55:43 · 248 阅读 · 0 评论 -
4-7 错误票据Java
/*标题:错误票据 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N...翻译 2019-03-15 15:06:16 · 166 阅读 · 0 评论 -
3-9 趣味算式Java
/* 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 5 6 7 8 9 = 110; 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。 之间没有填入符号的数字组合成...翻译 2019-03-14 19:38:07 · 366 阅读 · 1 评论