Unix权限数字换算器 - rwx与八进制
在勾选读写执行权限和对应的八进制数字、符号(rwx)之间互相转换。
UD5工具箱
辗转相除法(欧几里得算法)· 详细步骤展示
输入数字并点击计算,查看详细步骤
支持2~10个正整数
最大公约数(Greatest Common Divisor,简称GCD),也称最大公因数,是指两个或多个整数共有约数中最大的一个。例如,12和18的公约数有1、2、3、6,其中最大的是6,所以gcd(12, 18) = 6。
如果两个数的最大公约数为1,则称这两个数互质。例如,8和15互质,因为gcd(8, 15) = 1。
辗转相除法,又称欧几里得算法(Euclidean Algorithm),是求两个正整数最大公约数的最古老且最高效的算法,由古希腊数学家欧几里得在《几何原本》中首次描述,距今已有2300多年历史。
核心原理:gcd(a, b) = gcd(b, a mod b),即用较大的数除以较小的数,取余数,然后用除数和余数重复此过程,直到余数为0,此时的除数即为最大公约数。
举例:求gcd(48, 18):
辗转相除法的正确性基于一个关键定理:如果 a = b × q + r(其中0 ≤ r < b),那么gcd(a, b) = gcd(b, r)。
证明思路:设d是a和b的公约数,则d整除a和b,那么d也整除r = a - b×q。反之,如果d整除b和r,则d也整除a = b×q + r。因此(a, b)的公约数集合与(b, r)的公约数集合完全相同,最大公约数自然也相同。
每次辗转,数字都在变小,最终必然在有限步内达到余数为0,算法必定终止。
求多个数字的GCD利用了GCD运算的结合律:gcd(a, b, c) = gcd(gcd(a, b), c)。
具体做法:先求前两个数的GCD,得到中间结果,再用这个中间结果与第三个数求GCD,依此类推,直到处理完所有数字。本工具会自动展示这个级联计算过程,每个阶段都清晰可见。
例如求gcd(48, 18, 30):先求gcd(48, 18) = 6,再求gcd(6, 30) = 6,最终结果为6。
对于两个正整数a和b,有重要公式:a × b = gcd(a, b) × lcm(a, b)。
即:LCM(a, b) = |a × b| / GCD(a, b)。这意味着只要知道GCD,就能快速求出LCM。本工具在计算结果时会同步展示LCM,方便您同时获取这两个常用值。
注意:该公式仅适用于两个数。对于多个数的LCM,需要逐对计算:lcm(a, b, c) = lcm(lcm(a, b), c)。
辗转相除法的时间复杂度为O(log min(a, b)),非常高效。即使处理上千位的大整数,也只需几百次除法运算。
最坏情况出现在两个连续的斐波那契数上。例如F(10)=55和F(9)=34,辗转相除需要约9步。一般来说,步数不超过较小数位数的5倍。
这使得辗转相除法成为现代密码学(如RSA算法)中处理大整数GCD的标准方法。
更相减损术出自中国古代数学著作《九章算术》(约公元1世纪),其原理是:用较大数减去较小数,然后用差和较小数重复此过程,直到两数相等。
对比:
现代计算中,辗转相除法(欧几里得算法)是标准选择,而更相减损术更多体现了古代数学的智慧。
GCD在数学和计算机科学中有广泛应用:
在勾选读写执行权限和对应的八进制数字、符号(rwx)之间互相转换。
在线正则表达式测试工具,支持JavaScript正则匹配、替换、提取等操作,即时显示匹配结果和高亮。
将分子和分母约分为最简分数,同时显示带分数格式及小数近似值。
上传 webpack 的 stats.json,生成交互式树状图、模块大小排名,辅助优化构建体积。
拖拽题型构建客户或员工反馈表,支持NPS、星级评分,导出填写链接或二维码。
输入 HTML 或网址,提取所有标题标签,生成文档大纲树,检测跳跃和缺失。
记录每天不同时段的精力分值,分析高效与低谷期,合理安排任务。
上传文件或粘贴十六进制头部,根据魔数识别真实文件格式,无视扩展名伪装。
输入URL模式字符串(通配符、命名组)和测试URL,验证是否匹配并提取参数。
从预置学科库选择公式,编辑并排列成A4公式表,支持LaTeX渲染输出,适合考前复习。
将空格分隔的8位二进制序列解码为可读文本,支持ASCII及扩展字符集。
基于Bcrypt算法的密码安全哈希,可调节工作因子,适合存储用户密码时的单向加密演示。
完整展示HTTP状态码及其含义,按类别分组,支持搜索,是前端和后端开发常用的快速参考。
实现Atbash单表替换密码,即A变Z、B变Y,快速转换字母序列,简单对称加密。
编写Brainfuck代码,以可视化的方式步进执行,观察活动纸带和指针。
粘贴带参数的URL,以表格形式列出所有Query参数与值。
输入标题文本,尝试不同容器宽度,手动插入<br>或使用text-wrap:balance显示效果。
输入最小项,生成卡诺图并自动圈出质蕴含项,得到最简逻辑表达式。
选择任意基色,自动计算互补色、分裂互补及三分色,提供十六进制代码,一键复制。
将 JSON 数组或对象渲染为可交互的 HTML 表格,支持嵌套展开、列排序和搜索。
为页面上使用CSS Grid的元素显示网格线和名称,辅助布局开发和调试。
输入 gRPC 服务地址和方法,构造 JSON 请求体,观察转为二进制帧并接收响应解码。
可视化配置<dialog>元素外观与行为,生成现代化、无障碍友好的模态框代码。
拖拽与门、或门、非门等构建组合逻辑电路,输入高/低电平观察输出。
对输入的列表项进行随机打乱排列,可作为抽签、随机分组或排序工具。
选择类型、作用域并填写描述,自动生成符合Conventional Commits规范的提交消息。
批量将文本中的<,>,&,等转换为HTML实体,或反向还原,包含选项保留已转义实体。
在二进制和八进制数字之间实时转换,支持批量处理,方便嵌入式开发和数学运算。
在网格上设置起点/终点和障碍,动态演示广度优先、深度优先、A*等搜索过程。
编写带有伪类的选择器,实时高亮匹配的HTML元素,探索现代CSS选择器的能力。