蓝桥杯(java)
文章平均质量分 79
麦橙手记
我走的快是为了早日到达目的地,走得慢是为了多看沿途的风景。
展开
-
算法提高 ADV-189 连接乘积
问题描述 192这个数很厉害,用它分别乘以1、2、3,会得到: 192 x 1 = 192 192 x 2 = 384 192 x 3 = 576 把这三个乘积连起来,得到192384576,正好是一个1~9的全排列 我们把上面的运算定义为连接乘积: m x (1 ... n) = k(其中m > 0 且 n > 1,对于上例,m = 192、n =原创 2017-09-17 09:15:06 · 622 阅读 · 0 评论 -
算法提高 ADV-202 最长公共子序列
问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列。输入格式 输入两行,分别包含一个字符串,仅含有小写字母。输出格式 最长公共子序列的长度。样例输入abcdghaedfhb样例输出3样例说明 最长公共子序列为a,d,h。数据规模和约定 字串长度1~1000。原创 2017-09-17 09:17:06 · 295 阅读 · 0 评论 -
算法提高 ADV-204 快速幂
问题描述 给定A, B, P,求(A^B) mod P。输入格式 输入共一行。 第一行有三个数,N, M, P。输出格式 输出共一行,表示所求。样例输入2 5 3样例输出2数据规模和约定 共10组数据 对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。原创 2017-09-17 09:18:23 · 300 阅读 · 0 评论 -
基础练习 BASIC-6 杨辉三角形
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式原创 2017-09-25 18:41:03 · 260 阅读 · 0 评论 -
基础练习 BASIC-7 特殊的数字
问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。ublic class Main{ public static void main(String[] args) { for原创 2017-09-25 18:42:04 · 204 阅读 · 0 评论 -
基础练习 BASIC-8 回文数
问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。public class Main{ public static void main(String[] args) { for (int i=10; i<=99; i++){ in原创 2017-09-25 18:43:04 · 288 阅读 · 0 评论 -
基础练习 BASIC-9 特殊回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出8999989899899988原创 2017-09-25 18:44:19 · 271 阅读 · 0 评论 -
基础练习 BASIC-10 十进制转十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式原创 2017-09-25 18:45:24 · 251 阅读 · 0 评论 -
基础练习 BASIC-4 数列特征
问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出原创 2017-09-25 13:05:05 · 289 阅读 · 0 评论 -
算法提高 ADV-207 最长字符序列
最长字符序列问题描述 设x(i), y(i), z(i)表示单个字符,则X={x(1)x(2)……x(m)},Y={y(1)y(2)……y(n)},Z={z(1)z(2)……z(k)},我们称其为字符序列,其中m,n和k分别是字符序列X,Y,Z的长度,括号()中的数字被称作字符序列的下标。 如果存在一个严格递增而且长度大于0的下标序列{i1,i2……ik},使得对所有的j=原创 2017-09-18 00:07:27 · 626 阅读 · 0 评论 -
基础练习 BASIC-11 十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出 65535import java.io.BufferedReader;import java.io.IOException;原创 2017-09-26 19:19:45 · 260 阅读 · 0 评论 -
基础练习 BASIC-12 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出原创 2017-09-26 19:21:00 · 271 阅读 · 0 评论 -
基础练习 BASIC-13 数列排序
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出 3 4 6 8 9im原创 2017-09-26 19:22:31 · 356 阅读 · 0 评论 -
基础练习 BASIC-14 时间转换
问题描述 给定一个以秒为单位的时间t,要求用“::”的格式来表示这个时间。表示时间,表示分钟,而表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入格式 输入只有一行,是一个整数t(0输出格式 输出只有一行,是以“::”的格式所表示的时间,不包括引号。样例输入0原创 2017-09-26 19:23:55 · 253 阅读 · 0 评论 -
基础练习 BASIC-15 字符串对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(转载 2017-09-26 19:45:09 · 241 阅读 · 0 评论 -
算法提高 ADV-209 c++_ch02_04
问题描述 输出1~100间的质数并显示出来。注意1不是质数。输出格式每行输出一个质数。 2 3 ... 97public class Main{ public static void main(String[] args) { boolean [] primes = new boolean[101]; primes原创 2017-09-18 21:49:14 · 478 阅读 · 0 评论 -
算法提高 ADV-210 2-1屏幕打印
样例输出*********************** My first C program ***********************public class Main{ public static void main(String[] args) { System.out.println("**********************");原创 2017-09-18 21:50:28 · 489 阅读 · 0 评论 -
算法提高 ADV-211 2-2整数求和
基于例子3 ,写一个程序,实现整数求和:样例输入3 4样例输出 7import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a原创 2017-09-18 21:52:22 · 445 阅读 · 0 评论 -
算法提高 ADV-212 3-1课后习题2
问题描述 编写一个程序,接受用户输入的10个整数,输出它们的和。输出格式 要求用户的输出满足的格式。 例:输出1行,包含一个整数,表示所有元素的和。样例输入1 2 3 4 5 6 7 8 9 10样例输出55数据规模和约定 输入数据中每一个数的范围。 例:输入数import java.util原创 2017-09-18 21:55:36 · 445 阅读 · 0 评论 -
算法提高 ADV-214 3-3求圆面积表面积体积
问题描述 接受用户输⼊的数值,输出以该值为半径的(1)圆面积,(2)球体表面积,(3)球体体积。pi 取值3.1415926536 ,结果保留10位小数,每一列占20个字符,左对齐。样例输入一个满足题目要求的输入范例。例:1样例输出与上面的样例输入对应的输出。例:(第一行1是输入,第二行是输出)数据规模和约定 所有结果原创 2017-09-18 21:57:19 · 661 阅读 · 0 评论 -
算法提高 ADV-231 12-2扑克排序
问题描述 扑克牌排序:构造扑克牌数组,对扑克牌进行排序。排序原则如下:数字从小到大是2-10、J、Q、K和A,花色从小到大是方块(diamond)、梅花(club)、红桃(heart)、黑桃(spade)。两张牌比较时先看数字,数字相同时看花色。要求对输入的扑克牌进行从小到大排序。 输入五张牌(表示黑桃2、红桃3、黑桃3、方块A和梅花J): 2 s 3 h 3 s A d J c原创 2017-09-18 21:58:55 · 1000 阅读 · 0 评论 -
算法提高 ADV-94 复数归一化
编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(a*a+b*b) + i*b/sqrt(a*a+b*b) 。使用结构体指针类型作为函数参数可能是必要的。其中实部和虚部由键盘输入,输出为归一化结果,如果归一化结果的实部或虚部为小数的要求保留一位小数。样例输入:(格式说明:3 4 分别为以空格隔开的实数的实部和虚部) 3 4 样例输出:0原创 2017-09-18 22:02:05 · 551 阅读 · 0 评论 -
算法提高 ADV-97 十进制数转八进制数
编写函数,其功能为把一个十进制数转换为其对应的八进制数。程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数。 样例输入 9274 样例输出 22072样例输入 18 样例输出 22import java.util.Scanner;public class Main{ public static void main(Strin原创 2017-09-18 22:04:04 · 1328 阅读 · 0 评论 -
算法提高 ADV-98 约数个数
输入一个正整数N (1样例输入12样例输出6样例说明 12的约数包括:1,2,3,4,6,12。共6个import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner input = new原创 2017-09-18 22:06:13 · 582 阅读 · 0 评论 -
基础练习 BASIC-16 分解质因数
问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再原创 2017-09-26 22:08:29 · 637 阅读 · 1 评论 -
基础练习 BASIC-17 矩阵乘法
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用原创 2017-09-26 22:10:00 · 352 阅读 · 0 评论 -
基础练习 BASIC-18 矩形面积交
问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。原创 2017-09-26 22:11:30 · 269 阅读 · 0 评论 -
基础练习 BASIC-19 完美的代价
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)原创 2017-09-26 22:13:32 · 218 阅读 · 0 评论 -
算法提高 ADV-100 第二大整数
问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束。然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来。说明:(1)0表示输入结束,它本身并不计入这组整数中。(2)在这组整数中,既有正数,也可能有负数。(3)这组整数的个数不少于2个。 输入格式:输入只有一行,包括若干个整数,中间用空格隔开,最后一个整数为0。 输出格式:输出第二大原创 2017-09-19 20:23:41 · 307 阅读 · 0 评论 -
算法提高 ADV-103 逆序排列
问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中。当用户输入0时,表示输入结束。然后程序将把这个数组中的值按逆序重新存放,并打印出来。例如:假设用户输入了一组数据:7 19 -5 6 2 0,那么程序将会把前五个有效数据保存在一个数组中,即7 19 -5 6 2,然后把这个数组中的值按逆序重新存放,即变成了2 6 -5 19 7,然后把它们打印出来。原创 2017-09-19 20:26:08 · 350 阅读 · 0 评论 -
算法提高 ADV-112 c++_ch02_01
编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码。 输出的顺序为:大写的字母A,E,I,O,U的ASCII码,小写的字母a,e,i,o,u的ASCII码。所有的ASCII码都用十进制表示.输出10行,每行一个ASCII码,最后输出一个空行。public class Main{ public static void main(String[] args)原创 2017-09-19 20:27:39 · 364 阅读 · 0 评论 -
算法提高 ADV-143 扶老奶奶过街
一共有5个红领巾,编号分别为A、B、C、D、E,老奶奶被他们其中一个扶过了马路。 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中一个扶过大街的 D :B和C都没有扶老奶奶过街 E :我没有扶老奶奶 已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老原创 2017-09-19 20:29:29 · 308 阅读 · 0 评论 -
算法提高 ADV-144 01背包
问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个.输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能装重量。 以后N行每行两个数Wi和Vi,表示物品的重量和价值输出格式 输出1行,包含一个整数,表示最大价值。样例输入3 52 3原创 2017-09-19 20:30:36 · 391 阅读 · 0 评论 -
基础练习 BASIC-22 FJ的字符串
问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空原创 2017-09-27 23:04:54 · 244 阅读 · 0 评论 -
基础练习 BASIC-23 芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第原创 2017-09-27 23:07:40 · 252 阅读 · 0 评论 -
基础练习 BASIC-24 龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s原创 2017-09-27 23:09:10 · 237 阅读 · 0 评论 -
基础练习 BASIC-25 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入原创 2017-09-27 23:10:19 · 335 阅读 · 0 评论 -
基础练习 BASIC-27 2n皇后问题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置原创 2017-09-27 23:11:44 · 250 阅读 · 0 评论 -
基础练习 BASIC-28 Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到原创 2017-09-27 23:13:18 · 290 阅读 · 0 评论 -
算法提高 ADV-155 上帝造题五分钟
问题描述 第一分钟,上帝说:要有题。于是就有了L,Y,M,C 第二分钟,LYC说:要有向量。于是就有了长度为n写满随机整数的向量 第三分钟,YUHCH说:要有查询。于是就有了Q个查询,查询向量的一段区间内元素的最小值 第四分钟,MZC说:要有限。于是就有了数据范围 第五分钟,CS说:要有做题的。说完众神一哄而散,留你来收拾此题输入格式 第一行两个原创 2017-09-19 20:32:07 · 350 阅读 · 0 评论