蓝桥
襄阳名士徐元直
再小的帆也能远航!
展开
-
Java 求时间差
直接上代码:import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class 计算时间差 { public static void main(String[] args) throws ParseException { // 格式化时间的格式 DateFormat d原创 2020-11-01 17:19:26 · 138 阅读 · 0 评论 -
Java 算法基础 选择排序法
介绍选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。计算过程:每一趟从待排序的数据元素选最小或最大的一个元素,顺序放在已排序好序的数列的最后,直到全部待排序的元素排完。代码实现import java.lang.reflect.Array;原创 2020-10-31 15:42:06 · 118 阅读 · 0 评论 -
Java 基本训练 冒泡排序法
介绍:冒泡排序法是最常用的数组排序算法之一,它以简洁的思想与实现方法备受亲睐,是初学者最先接触的一个排序方法。使用冒泡排序时,排序数组元素的过程总是小数往前放,大数往后方,类似水中气泡往上升的动作,所以称为冒泡排序。基本思想:冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面,这样较小的元素就像气泡一样从底部上升到顶部。代码实现:import java.lang.reflect.Array;import java.util.Ar原创 2020-10-30 11:20:21 · 129 阅读 · 0 评论 -
Java 算法训练 2019蓝桥杯B组决赛第一题
题目:求2019<X<Y,使20192019,XX,Y*Y组成等差数列且X+Y最小。public class Test { public static void main(String[] args) { int n = 2019*2019; // Y最小为2021,X最小为2020 for (int Y = 2021; Y < 10000; Y++) { for (int X = 2020; X原创 2020-10-29 14:32:22 · 163 阅读 · 0 评论 -
Java 算法训练 三角形的面积
题目:三角形面积输入:输入三个坐标输出:求该三角形的面积,保留两位小数。注意,要提交的是一个小数形式表示的浮点数。package 数学问题;import java.util.Scanner;/** * 标题:三角形面积 * * 输入格式:输入三个点的坐标 * * * 输出:该三角形的面积。结果保留两位小数 * * 注意,要提交的是一个小数形式表示的浮点数。 * */public class 三角形的面积 { public static void main(Str原创 2020-10-29 13:32:00 · 419 阅读 · 0 评论 -
Java 算法训练 连续奇数和
题目描述小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。比如:2^3 = 8 = 3 + 53^3 = 27 = 7 + 9 + 114^3 = 64 = 1 + 3 + … + 15虽然他没有想出怎么证明,但他想通过计算机进行验证。请你帮助小明写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案。请严格按照要求,通过浏览器提交答案。注意:只提交一个整数,不要写其它附加内容,比如:说明性的文字。// 首先找到他的起始数字publi原创 2020-10-28 21:35:40 · 188 阅读 · 0 评论 -
Java 算法训练 猜灯谜
题目描述A 村的元宵节灯会上有一迷题:请猜谜 * 请猜谜 = 请边赏灯边猜小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可。请严格按照格式,通过浏览器提交答案。注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字。// 首先找到这个三位数的范围// 也就是n*n>=100000 &&n*n <=999999// 发现这三位数的范围在317到999之间publi原创 2020-10-28 20:59:50 · 362 阅读 · 0 评论 -
Java 算法训练 求桃子的数量
海滩上有5只猴子,发现有一堆桃子,第一只猴子把桃子分成5堆发现多了1个,于是把多的那个扔了,并取走分好的1堆桃子。五只猴子都可以进行同样的操作。问: 桃子最少有多少个?public class 猴子拿桃子 { public static void main(String[] args) { // 这里我们用穷举 for (int i = 0; i < 10000; i++) { // 进行5次操作,且返回值不能为0原创 2020-10-28 20:33:31 · 336 阅读 · 2 评论 -
Java 算法基础 最大公因数和最小公倍数
题目:输入两个数求他的最小公倍数和最大公约数。题目分析:最小公倍数为两数之积除以最大公约数。 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int b = scanner.nextInt(); System.out.println("最大公约数为:"+gcd(a,原创 2020-05-22 19:24:25 · 223 阅读 · 0 评论 -
Java 算法训练 分解质因数(超详细)
题目:题目:将一个正整数分解质因数。例如:输入90,打印出90=2 * 3 * 3 * 5。题目分析:如果n为素数直接打印 n = n如果不为素数:定义一个i为最小素数,str为打印的字符串。如果n能整除i,则i是n的因素,令n=n/i,i加入到str中 ;如果n不能整数i,则i++,直到能整除为止;当n=1时跳出循环打印str(具体看代码中实现)。输入格式:输入两个数表示分解质因素的范围。输出格式:输出范围内的分解质因数的格式例如:输入:输出:代码如下: public st原创 2020-05-22 18:34:54 · 565 阅读 · 1 评论 -
Java 算法训练 高效判断素数
题目:素数也就是我们常说的质数,也就是只能被1或者被它自己整除。最小的素数为2。例如:2,3,7,11,13…通常我们求素数是这样写的: public static void main(String[] args) { for (int i = 2; i < 100; i++) { boolean flag=true; for (int j = 2; j < i; j++) { if(原创 2020-05-22 17:58:03 · 500 阅读 · 2 评论 -
Java 算法训练 统计单词数
题目:输入一段英文句子统计他的每一个单词数。例如输入:输出:结题思路:运用HashMap的映射关系遍历每一个键,遍历到哪个键就给哪个键的值+1,从而达到统计的作用。代码如下:public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入一个英文句子 String str = scanner.nextLine().replace(".",""); /原创 2020-05-22 14:30:22 · 276 阅读 · 0 评论 -
Java 算法训练 n进制转化为10进制 10进制转换为n进制
题目:n进制转化为10进制 10进制转换为n进制首先我们先实现10进制转换为n进制代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); System.out.println(n+"转换为2进制为:"+Integer.toString(n,2)); System.原创 2020-05-21 18:27:43 · 463 阅读 · 0 评论 -
Java 算法训练 判断一个数是不是2的整数次方
题目:输入一个数如果是2的整数次方测试输出ture,反之输入false。题目分析:如果一个数是2的整数次方,那么他的二进制中只有一个1。例如:2化为2进制数:104化为2进制数:1008化为2进制数:1000首先先把输入的数化为2进制数然后判断此数中是不是只有一个1代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in);原创 2020-05-21 17:24:59 · 231 阅读 · 0 评论 -
Java 算法训练 斐波那契数列(高精度)
题目求斐波那契数列的第n位数介绍:斐波那契数列第一个和第二个数1,其他数是它前两数之和,例如:1、1、2、3、5、8、13、21、34、……等等代码如下:public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println(fbnq(scanner.nextInt())); } static int fbnq(int原创 2020-05-21 16:55:52 · 467 阅读 · 0 评论 -
Java 算法训练 哈夫曼树问题
问题描述:Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于给原创 2020-05-21 16:18:57 · 146 阅读 · 0 评论 -
Java 算法训练 矩阵的乘法
题目:要求输入两个矩阵求出它们相乘的结果输入格式:第一行为第一个矩阵的行和列,然后输入这个矩阵,接下来一行输入第二个矩阵的行和列接下来输入第二个矩阵。输出格式:第三个矩阵例如:输入:输出:代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int ai = scanner.nextInt(); // 矩阵a的行 int a原创 2020-05-21 16:02:15 · 136 阅读 · 0 评论