当前位置: 首页 > news >正文

欧几里得算法(简单理解版,非严格证明)

        欧几里得算法用于求解两个整数的最大公约数,又称为辗转相除

        依据的基本定理:

                GCD(a,b)=GCD(a%b,b)

证明:

        对于搞理论的人可能需要会严格证明,但是对于我们一般人而言,只要能理解其原理并记住即可,后者实际上是非常简单的,且看:

        如果我们有两个数a, b,假设其最大公约数m

        那么有a%m==0,b%m==0

        那么我们是不是可以将a看成k*b+c,那么(k*b+c)%m=(k*b)%m+c%m=0+c%m,容易发现m也正是b与c的最大公约数,

        所以求a与b的最大公约数,也就是求c=a%b与b的最大公约数,于是基本定理就是这么来的:        

  •                 GCD(a,b)=GCD(a%b,b)

        那么这样辗转相除下去,最后一定会得到0,

        如果a是b的最大公约数m非1,那么得到(0,m),最大公约数就是m

        如果不是,那么最后a%b一定得1,即(1,b),然后b%1==0,最后得(0,1),最大公约数就是1

        这里需要注意参数顺序, 要么:

                GCD(a,b)=GCD(b,a%b)

                GCD(a,b)=GCD(b%a,b)

        不能写成GCD(a,b)=GCD(a%b,b),这样会死递归

        那么代码就可以写了:

int GCD(int a,int b)
{return a?GCD(b%a,a):b;
}

        

相关文章:

欧几里得算法(简单理解版,非严格证明)

欧几里得算法用于求解两个整数的最大公约数,又称为辗转相除 依据的基本定理: GCD(a,b)GCD(a%b,b) 证明: 对于搞理论的人可能需要会严格证明,但是对于我们一般人而言,只要能理解其原理并记住即可,后者实际上…...

Mac软件介绍之录屏软件Filmage Screen

软件介绍 Filmage Screen 是一款专业的视频录制和编辑软件,适用于 Mac 系统 可以选择4k 60fps,可以选择录制电脑屏幕,摄像头录制,可以选择区域录制。同时也支持,简单的视频剪辑。 可以同时录制电脑麦克风声音 标准…...

Ubuntu cuda-cudnn中断安装如何卸载

文章目录 问题描述解决方法使用强制移除 问题描述 Ubuntu22.04系统,在终端中执行apt insatll安装或dpkg .deb安装时如果强制关闭终端会导致安装失败(安装包会变成iu状态或ru状态,安装成功的应该是ii状态) 此时,无论是…...

CSS——7.CSS注释

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>css注释</title><link rel"stylesheet" type"text/css" href"a.css"/></head><body><!--头部开始&#xff08;h…...

鸿蒙APP之从开发到发布的一点心得

引言&#xff1a; 做鸿蒙开发大概有1年左右时间了&#xff0c;从最开始的看官方文档、看B站视频&#xff0c;到后来成功发布两款个人APP&#xff08;房贷计算极简版、时简时钟 轻喷&#xff0c;谢谢&#xff09;。简单描述一下里边遇到的坑以及一些经历吧。 学习鸿蒙开发 个…...

某小程序sign签名参数逆向分析

文章目录 1. 写在前面2. 接口分析3. 分析还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...

智能风控/数据分析 聚合 分组 连接

data。head&#xff08;&#xff09;查看前几行 data.head() 是一个在Python的Pandas库中常用的方法&#xff0c;用于查看DataFrame对象的前几行数据。默认情况下&#xff0c;head() 方法会返回DataFrame的前5行数据&#xff0c;但是你也可以通过传递一个整数参数来指定返回的…...

Unity3D PBR光照计算公式推导详解

前言 在Unity3D中&#xff0c;PBR&#xff08;Physically Based Rendering&#xff0c;基于物理的渲染&#xff09;光照模型是一种高级光照模型&#xff0c;它模拟了真实世界中光的传播和反射过程&#xff0c;从而提供了更加逼真的渲染效果。PBR光照模型的计算公式涉及多个物理…...

行为树详解(6)——黑板模式

【动作节点数据共享】 行为树中需要的参数可以来自游戏中的各个模块&#xff0c;如果仅需从多个模块获取少量参数&#xff0c;那么可以直接在代码中调用其他模块的单例继而层层调用获取数据。 如果获取的参数量很大&#xff0c;从架构上看&#xff0c;我们需要通过加一个中间…...

Vue.js与其他框架有哪些兼容性?

Vue.js的兼容性主要体现在几个方面&#xff0c;包括浏览器支持、运行环境适应性、与其他库和框架的集成能力等。以下是更详细的解释&#xff1a; 浏览器兼容性 现代浏览器&#xff1a;Vue.js广泛支持所有主流的现代浏览器&#xff0c;如Google Chrome, Firefox, Safari, Edge…...

Java 8 Stream 介绍

Java 8 Stream 介绍 1. 什么是Stream&#xff1f; Stream&#xff08;流&#xff09;是Java 8引入的全新概念&#xff0c;它是一个支持串行和并行聚合操作的元素序列。Stream API提供了一种声明式的方式来处理数据集合&#xff0c;可以让我们以一种类似SQL查询的方式处理数据…...

Java NIO、AIO分析

好的&#xff0c;下面将对Java中的**NIO&#xff08;Non-blocking IO&#xff09;和AIO&#xff08;Asynchronous IO&#xff09;**进行更深入的分析&#xff0c;重点探讨它们的特点和具体的应用场景。 一、Java NIO&#xff08;Non-blocking IO&#xff09;深入分析 1. 主要…...

pip下载包出现SSLError

报错&#xff1a; ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host‘files.pythonhosted.org’, port443): Max retries exceeded with url: /packages/8a/c2/ae7227e4b089c6a8210920db9d5ac59186b0a84eb1e6d96b9218916cdaf1/taming_transform…...

零成本的互联网创业创意有哪些?

在互联网时代&#xff0c;创业的门槛大大降低&#xff0c;即使没有大量的资金投入&#xff0c;也有许多机会可以实现创业梦想。以下将为您介绍一些零成本的互联网创业创意&#xff0c;帮助您在互联网的海洋中找到属于自己的宝藏。 一、内容创作与自媒体 &#xff08;一&#…...

linux ubantu重启桌面

在 Ubuntu 系统中&#xff0c;重启桌面环境通常有几种方法&#xff0c;具体取决于你所使用的桌面环境&#xff08;如 GNOME、KDE 等&#xff09;。下面是几种常用的重启桌面的方法&#xff1a; 重启 GNOME 桌面环境 如果你使用的是 GNOME 桌面环境&#xff08;Ubuntu 默认桌面…...

DeepSeek重新定义“Open“AI

“面对颠覆性技术&#xff0c;闭源所创造的护城河是暂时的。即使是OpenAI的闭源方法也无法阻止他人赶超。” ——梁文锋&#xff0c;DeepSeek CEO DeepSeek V3 是一个拥有6710亿参数的开源AI模型&#xff0c;正在提升AI效率的新标准。它在相对有限的预算下进行训练&#xff0c…...

iOS - 自旋锁

在 Objective-C 运行时中大量使用自旋锁&#xff0c;主要有以下几个原因&#xff1a; 1. 性能考虑 上下文切换成本 // 自旋锁实现 static ALWAYS_INLINE void OSSpinLockLock(volatile OSSpinLock *lock) {do {while (lock->value ! 0) {__asm__ volatile ("pause&q…...

web应用网站如何启用http2请求

要启用 HTTP/2 协议&#xff0c;您需要确保您的 Web 服务器软件支持 HTTP/2&#xff0c;并进行相应的配置。以下是一些常见的 Web 服务器软件及其启用 HTTP/2 的方法&#xff1a; 1. Nginx 对于 Nginx&#xff0c;您需要确保使用的是 1.9.5 或更高版本&#xff0c;因为这些版本…...

python进阶06:MySQL

课后大总结 Day1 一、数据库命令总结 1.连接数据库 连接数据库进入mysql安装目录打开bin文件夹&#xff0c;输入cmd(此命令后无分号)mysql.exe -u root -ppassword命令后输入密码:root 设置密码set passwordpassword("root123"); 查看所有数据库show databases; …...

mac 使用zip2john破解zip压缩包密码

一、下载&#xff1a; git clone https://github.com/magnumripper/JohnTheRipper.git cd JohnTheRipper/src ./configure sudo make -s clean && sudo make -sj4 cd ../run二、使用&#xff1a; zip2john提取提取 ZIP 文件的哈希&#xff1a; ./zip2john protecte…...

鸿蒙Next实战:5分钟搞定跨应用拖拽图片功能(附完整代码)

鸿蒙Next实战&#xff1a;5分钟搞定跨应用拖拽图片功能&#xff08;附完整代码&#xff09; 在移动应用开发中&#xff0c;跨应用数据交互一直是提升用户体验的关键技术点。想象一下&#xff0c;用户无需繁琐的保存-导入流程&#xff0c;只需简单拖拽就能将图片从相册应用转移到…...

前端动画新方法:别再用传统 CSS 动画了

前端动画新方法&#xff1a;别再用传统 CSS 动画了 什么是前端动画新方法&#xff1f; 前端动画新方法是指在前端开发中&#xff0c;随着技术的发展&#xff0c;出现的新的动画技术和方法。别以为动画只是简单的过渡效果&#xff0c;那是十年前的玩法了。 为什么需要关注前端动…...

HWSD2.0:从全球土壤数据到精准农业与生态评估的革新

1. HWSD2.0&#xff1a;土壤数据的革命性升级 记得十年前我第一次用HWSD1.2做农田土壤分析时&#xff0c;经常为数据精度不够发愁。那时候只有两层土壤数据&#xff0c;很多关键参数都缺失&#xff0c;做模型时不得不靠经验值来填补。现在HWSD2.0的发布&#xff0c;简直像给土壤…...

如何3分钟完成QQ音乐加密文件解密:专业音频格式转换方案

如何3分钟完成QQ音乐加密文件解密&#xff1a;专业音频格式转换方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 还在为QQ音乐下载的加密音频文件无法在其他播放器播放而…...

Harness Engineering 是什么?三层演化,搞懂 AI Agent 的真正驱动力

提示词工程、上下文工程、Harness Engineering——一文说透&#xff0c;附四张原创图解 很多人搭 AI Agent&#xff0c;卡在同一个地方&#xff1a; 照着教程写了提示词&#xff0c;Agent 还是跑偏、忘事、乱执行。 问题不在提示词写得不够好——是你对整个概念体系的理解&am…...

Qwen3.5-2B效果展示:对模糊车牌图的字符识别+车辆类型+颜色判断

Qwen3.5-2B效果展示&#xff1a;对模糊车牌图的字符识别车辆类型颜色判断 1. 模型简介 Qwen3.5-2B是一款轻量化多模态基础模型&#xff0c;属于Qwen3.5系列的小参数版本&#xff08;20亿参数&#xff09;。该模型主打低功耗、低门槛部署&#xff0c;特别适配端侧和边缘设备&a…...

多模态注意力可视化实战(含Grad-CAM++热力图+Cross-Modality Attention Rollout):手把手定位图像区域与文本短语的非对称关注漏洞

第一章&#xff1a;多模态大模型中的注意力机制 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型需协同处理图像、文本、音频等异构信号&#xff0c;其核心挑战在于如何在跨模态语义空间中建立动态、可解释且计算高效的关联。注意力机制不再局限于单一序列建模&…...

贾子成功定理(普通完整版):德能 × 投入 ÷ 内耗——人生与AI时代的成功底盘法则

贾子成功定理&#xff08;普通完整版&#xff09;&#xff1a;德能 投入 内耗——人生与AI时代的成功底盘法则摘要&#xff1a; 贾子成功定理普通完整版以公式S kT/I为核心&#xff1a;S为成功量级&#xff0c;k为德能&#xff08;承载力、信用、格局、伦理底线&#xff09;…...

黑苹果实战进阶:深度解析硬件兼容性与系统优化四大核心问题

黑苹果实战进阶&#xff1a;深度解析硬件兼容性与系统优化四大核心问题 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh Hackintosh黑苹果项目为技术爱好者…...

高并发场景下,如何让你的向量语义检索快人一步?

当需要同时检索多条查询&#xff08;如批量问答、RAG 多路召回、多用户并发搜索&#xff09;&#xff0c;逐条串行执行会导致整体耗时随查询数线性增长。通过并发执行多条检索请求&#xff0c;可以将总耗时从 N 单次延迟 降低到接近 1 单次延迟&#xff0c;显著提升吞吐量。 …...