![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IT-算法
文章平均质量分 79
丘色果
目前就职在Accenture
展开
-
常见三种加密(MD5、非对称加密,对称加密)
一、哈希HASH1.MD5加密MD5加密的特点:不可逆运算对不同的数据加密的结果是定长的32位字符(不管文件多大都一样)对相同的数据加密,得到的结果是一样的(也就是复制)。抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的.强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的MD5 应用:一致性验证:M转载 2021-12-01 21:57:09 · 3484 阅读 · 0 评论 -
【算法014】冒泡排序&二分查找法/对分查找法(非递归)
冒泡排序法二分查找法/对分查找法package com.example.chyer.demo;import java.util.Arrays;public class Test { public static void 冒泡排序(int[] data) { boolean changed = true; for (int m = 0; m...原创 2019-12-12 23:53:27 · 158 阅读 · 0 评论 -
【算法013】完全平方数
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?如果一个正整数 a 是某一个整数 b 的平方,那么这个正整数 a 叫做完全平方数。零也可称为完全平方数。package com.example.chyer.demo;import java.util.Scanner;public class Test { public st...转载 2019-11-25 21:37:14 · 250 阅读 · 0 评论 -
【算法012】数字排列组合
有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输入。package com.example.chyer.demo;import java.util.Scanner;public class Test { public static void main(String[] args) { int count = 0;...转载 2019-11-25 21:27:03 · 1012 阅读 · 0 评论 -
【算法011】找出1000以内的所有完数
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.package com.example.chyer.demo;import java.util.Scanner;public class Test { public static void main(String[] args) { for (int i = 1; i <= ...转载 2019-11-25 21:13:25 · 1084 阅读 · 0 评论 -
【算法010】求s=a+aa+aaa+aaaa+aa...a的值
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制package com.example.chyer.demo;import java.util.Scanner;public class Test { public static void main(String[] ar...转载 2019-11-25 20:48:18 · 353 阅读 · 0 评论 -
【算法009】二叉搜索树删除节点 有bug,待完善
删除对象无子节点删除对象无右节点删除对象有右节点package com.example.chyer.demo;import java.util.Stack;public class Test { private String v; private Test left; private Test right; ...原创 2019-11-25 20:30:14 · 111 阅读 · 0 评论 -
【算法008】二叉树查找
代码:package com.example.chyer.demo;import java.util.Stack;public class Test { private String v; private Test left; private Test right; public static void main(String[] args) {...原创 2019-11-25 17:59:31 · 98 阅读 · 0 评论 -
【算法007】二叉树遍历(递归&非递归方式)
前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树,再输出父节点,再遍历右子树后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点小结: 看输出父节点的顺序,就确定是前序,中序还是后序数据结构:package com.example.chyer.demo;import java.util.Stack;public class Test {...原创 2019-11-25 11:10:25 · 148 阅读 · 0 评论 -
【算法006】统计字符串中英文字母、空格、数字和其它字符的个数
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。package com.example.chyer.demo;import java.util.Scanner;public class Test { public static void main(String[] args) { int abccount = 0; int s...转载 2019-11-24 22:37:08 · 992 阅读 · 0 评论 -
【算法005】最大公约数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。例如:12、16的公约...转载 2019-11-24 22:28:52 · 155 阅读 · 0 评论 -
【算法004】分解质因数
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k=2,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n > k,但n能被k整除,则k为分解后的值,并用n除以k的商,作为新的正整数n,重复执行第一步。(3)如果n不能被k整除,则用...原创 2019-11-24 21:49:45 · 745 阅读 · 0 评论 -
【算法003】水仙花数
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong nu...转载 2019-11-24 18:59:20 · 259 阅读 · 0 评论 -
【算法002】输出素数/质数
输出101-200之间素数及个数。质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。package com.example.chyer.demo;public class Test { public static void main(String[] args) { int count = 0; ...转载 2019-11-24 17:14:29 · 375 阅读 · 0 评论 -
【算法001】斐波那契数列
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”package com.example.chyer.demo;/...转载 2019-11-22 22:01:03 · 173 阅读 · 0 评论