笔记
文章平均质量分 60
一念之卓
这个作者很懒,什么都没留下…
展开
-
matlab入门精讲 【官方资料精简而来,确保全面】
matlab入门精讲learn_matlab_zh_CN.pdf Matlab快速入门[本文取于此书]matlab_3d_visualize_zh_CN.pdf 三维可视化绘图matlab_api_ref.pdf C/C++,Fortran,Java,Python API参考matlab_creating_guis.pdf Matlab App构建matlab_creating_plots_zh_CN.pdf...原创 2021-05-23 15:53:36 · 416 阅读 · 0 评论 -
java大数运算详解【其十】大数除法之Burnikel-Ziegler除法算法
2、Burnikel-Ziegler除法算法(分块循环带余数试商法算法,简称分块试商法)/** *使用Burnikel-Ziegler算法计算{@code this / val}. * @param val 除数 * @return {@code this / val} */ private BigInteger divideBurnikelZiegler(BigInteger val) { return divideAndRemainde...原创 2020-12-17 01:39:13 · 950 阅读 · 0 评论 -
java大数运算详解【其九】大数除法之试商法(Knuth除法)核心算法
核心算法: /** * 该MutableBigInteger除以除数div。 * 商将被放置到提供的quotient对象中并将余数对象返回(当needRemainder值true)。 */ private MutableBigInteger divideMagnitude(MutableBigInteger div, MutableBigInteger quot...原创 2020-12-17 01:38:35 · 1395 阅读 · 0 评论 -
java大数运算详解【其八】大数除法
四、大数除法/** * 返回值为{@code (this / val)}的大型整数。 * * @param 除数 * @return {@code this / val} * @throws ArithmeticException 如果{@code val}值零。 */ public BigInteger divide(BigInteger val) { if (val.mag.length < BURNIKEL...原创 2020-12-17 01:37:45 · 2378 阅读 · 0 评论 -
java大数运算详解【其七】大数乘法之Karatsuba乘法和ToomCook3乘法
4、Karatsuba乘法(二分展开式乘法)/** * 使用Karatsuba乘法算法将两个大整数相乘。 * 这是一种递归的分治算法,与多聚类算法中通常使用的“小学”算法相比,它在处理大数问题时效率更高。 * 如果进行乘法的数组长度为n,“小学”算法的渐近O(n ^ 2)的复杂性。 * 相比之下,Karatsuba算法的复杂性O(n ^(log2(3))),或O(n ^ 1.585)。 * 在对过程进行评估时,它通过执行3次乘法而不是4次来实现这种性能提...原创 2020-12-17 01:37:03 · 1311 阅读 · 2 评论 -
java大数运算详解【其六】大数乘法之单位乘法和经典乘法
2、单位乘法 private static BigInteger multiplyByInt(int[] x, int y, int sign) { if (Integer.bitCount(y) == 1) {//移位优化 return new BigInteger(shiftLeft(x,Integer.numberOfTrailingZeros(y)), sign); } int xlen = x.length;...原创 2020-12-16 21:44:09 · 347 阅读 · 0 评论 -
java大数运算详解【其五】大数乘法之平方算法之ToomCook3平方算法
1.3、ToomCook3平方算法(三分展开式算法) /** * 使用3路Toom-Cook平方算法平方一个大整数。 * 当两个数字都大于某一阈值时(实验发现),应该使用它。 * 它是一种递归分治算法,其渐近性优于squareToLen和squareKaratsuba算法。 */ private BigInteger squareToomCook3() { int len = mag.length; // k是...原创 2020-12-16 21:42:46 · 897 阅读 · 1 评论 -
java大数运算详解【其四】大数乘法之平方算法之Karatsuba平方算法
1.2、Karatsuba平方算法(二分展开式算法) /** * 使用Karatsuba平方算法平方一个大整数。 * 当两个数字都大于某一阈值时(实验发现),应该使用它。 * 它是一种递归分治算法,其渐近性优于squareToLen算法。 */ private BigInteger squareKaratsuba() { int half = (mag.length+1) / 2; BigInteger xl ...原创 2020-12-16 21:41:25 · 1099 阅读 · 0 评论 -
java大数运算详解【其三】大数乘法之平方算法之按位二次展开式算法
所有解释都是最基本的,没有过多赘述,如若不懂静心思考。 1.1、按位二次展开式算法 /** * 将整型数组x的内容平方,结果放入整型数组z中,x的内容不变。 */ private static final int[] squareToLen(int[] x, int len, int[] z) { int zlen = len << 1; if (z == null || z.length < zlen)...原创 2020-12-16 21:39:25 · 531 阅读 · 0 评论 -
java大数运算详解【其二】大数乘法
这只是大数乘法的一部分,其支部此处不涉及,在下节再讲。三、大数乘法/** * 返回值为{@code (this * val)}的大型整数。 * * @implNote 当{@code val == this}时,实现可以提供更好的算法性能。 * * @param 乘数。 * @return {@code this * val}. */ public BigInteger multiply(BigInteger val) {...原创 2020-12-16 21:34:55 · 641 阅读 · 0 评论 -
java大数运算详解【其一】大数加减法
一、大数加法/** * 返回值为{@code (this + val)}的大型整数。 * * @param 加数。 * @return {@code this + val}. */ public BigInteger add(BigInteger val) { if (val.signum == 0) return this; if (signum == 0) ret...原创 2020-12-16 21:29:02 · 1621 阅读 · 0 评论 -
Linux Shell教程 【最全最精简bash教程】
题=C"Linux Shell教程"BS30本文使用仙符''进行排版。Linux的Shell脚本是Linux的基础之一,学习Shell语法是Linux的必经之路。下面来讲Shell的语法。脚本解释器,即shell的种类,有:bash,sh,ash,csh(tcsh),ksh. 注意,bash完全兼容sh,一般写sh类型的或bash类型的(後缀sh)。开头"#!"後接shell执行环境,如:"#!/bin/sh","#!/bin/bash"关于sh和bash的区别,简单讲即sh是bash --原创 2020-12-16 21:06:45 · 505 阅读 · 0 评论 -
Windows批处理文件语法【扩展补充】
四、命令(续)⑴'errorlevel' 变量,上一条命令的返回值⑵'title' 设置命令提示窗口的窗口标题。TITLE [string] string 指定命令提示窗口的标题。⑶'color' 设置默认的控制台前景和背景颜色。COLOR [attr] attr 指定控制台输出的颜色属性。颜色属性由两个十六进制数字指定 -- 第一个对应于背景,第二个对应于前景。每个数字可以为以下任何值: 0 = 黑色...原创 2020-12-16 20:54:25 · 367 阅读 · 1 评论 -
Windows批处理文件语法【常用命令】
四、命令㈠'rem '和'::' 单行注释,只有'rem '是正规的注释,'::'注释会留下一个冒号㈡'echo' 显示消息,或者启用或关闭命令回显。 ECHO [ON | OFF] ECHO [message]若要显示当前回显设置,请键入不带参数的 ECHO。㈢'set' 显示、设置或删除 cmd.exe 环境变量。SET [variable=[string]] variable 指定环境变量名。 string 指定要指派给变量的一系...原创 2020-12-16 20:49:20 · 720 阅读 · 0 评论 -
Windows批处理文件语法【精讲要义】
一、变量 批处理文件中只能有环境变量,且只在当前命令行有效。对系统环境变量的修改一般只是临时的,可以用'setx'或其他命令来使其永久生效。 变量赋值使用'set'命令实现。变量不需事先定义,对于未赋值的变量默认为空字符串(转为数值是0)。 批处理的环境变量都是当作字符串来处理的,有带引号和不带引号的字符串,使用'%'来引用变量时,实际上是在执行该行时将之替换为变量所代表的字符串,如果这个字符串不带引号,那么,很可能会将之拆开来解释。带引号的字符串要多占用几个字符。 变量传参...原创 2020-12-16 20:35:11 · 558 阅读 · 0 评论