算法训练
文章平均质量分 94
浅思浅影
好事多磨终成事,佳期难得自有期
展开
-
常见算法题
初始化列出到最后一步的 所有可能关系式。原创 2024-10-28 00:26:06 · 746 阅读 · 0 评论 -
算法笔记—06:日期相关
输入一个日期,输出最近6个月public class Main { public static void main(String[] args) throws ParseException { System.out.println("请输入yyyy-MM格式的日期"); Scanner sc = new Scanner(System.in); ...原创 2019-10-10 20:58:03 · 150 阅读 · 0 评论 -
算法笔记—05:蓝桥杯刷题笔记
去年参加了第九届蓝桥杯比赛,十个题做出来五个,对错不知,反正水了个省二,感觉自己做的不是很好。所以今年又参加了第十届,想拿个省一,再去国赛体验一下。在这之前,准备的有半个月的时间,每天就是刷历届的赛题,明天就要比赛了,就想着在这总结一下。省赛赛题题型:3~4道结果填空、2道代码填空、4道代码编写。对于菜菜的我来说,蓝桥杯赛题的主要题型只有搜索,不过这个搜索不是一般的搜索,它同...原创 2019-03-23 17:43:46 · 352 阅读 · 1 评论 -
算法笔记—00:Java大整数的加减乘除
由于大整数的加减乘除所得结果的位数可能很长,甚至超过32位,所以一般都用字符串或者数组存储进行运算一、大整数相加比如 :求 1234 + 456先把位数补齐一致,变成:1234 + 0456 从后往前,逐位相加,每次用一个变量记录是否要进位 最后在判断第一位是否要进位import java.util.Scanner;public class Main { public...原创 2019-03-23 15:52:17 · 628 阅读 · 0 评论 -
算法笔记—04:递归算法的应用
递归:是指在定义自身的同时又出现了对自身的调用,典型的递归算法的应用有阶乘、斐波那契数列、汉诺塔、二分查找等等。下面给出各种函数的实现:1.求阶乘 /** * 求阶乘 * n!=n*(n-1)*(n-2)*...*1 */ public static int fact(int n) { if(n == 1) { return 1; }e...原创 2019-03-23 15:11:24 · 198 阅读 · 0 评论 -
算法笔记—03:常见数学概念及相关算法
1.质数:一般又称 素数,是指 只能被1和自身整除 的大于1的自然数。2.因数:b能整除a,就说 b 是 a 的因数。例1:线性筛选素数(比如求 1—N 的素数)筛选步骤:先将1挖掉(因为1不是素数) 把2的倍数的筛选出来滤掉 3的倍数滤掉 4不用(因为在2的时候已经滤过了) 5的倍数也滤掉,后面同理... 我们这样只需要这样循环到sqrt(n)就ok了,(因为加入m不是...原创 2019-03-22 00:18:35 · 481 阅读 · 0 评论 -
算法笔记—02:Java实现排列组合
排列的计算公式: 组合的计算公式 根据上面公式可知,所以求排列组合可以采用求阶乘的方法实现:阶乘的实现: /** * 计算阶乘数,即n! = n * (n-1) * ... * 2 * 1 */ private static long factorial(int n) { long sum = 1;...原创 2019-03-21 20:28:11 · 472 阅读 · 0 评论 -
算法笔记—01:求最小公倍数
最小公倍数:能同时被数字m和数字n整除的最小整数。记为 [m , n] 。例如,24和60的最小公倍数等于120。算法思路:求最小公倍数,根据定理:(a,b)[a,b]=a*b (a,b均为整数)。所以首先用欧几里得算法求出最大公约数,然后两个数的乘积除以最大公约数就是最小公倍数。最大公约数:即最大公因子,指两个或多个整数共有约数中最大的一个。记为(m , n) 。求最大公约数有多种方法...原创 2019-03-21 19:48:52 · 713 阅读 · 0 评论