今天的c++练习代码———>"欧几里德算法+函数的递归解决求2个整数的最大公约数"

求两个整数的最小公倍数和最大公约数的算法及其C++实现 今天做了一个C++练习题求两个整数的最小公倍数和最大公约数的算法及其C++实现,感觉可以做个整理笔记。 最大公约数 最大公约数(英语:Greatest Common Divisor,简写为G.C.D.;或Highest Common Factor,简写为H.C.F.),指某几个整数共有约数中最大的一个。 求两个整数最大公约数主要的方法: 列举法:各自列出约数,再找出最大的公约数 阅读详情

2种方法 不解释.

#include <iostream>

using namespace std;

int main(void)

{

int a,b;

cin>>a>>b;

while(b!=0)

{

int temp=b;

b=a%b;

a=temp;

} 

cout<<a<<endl;

return 0;

}

============================================

#include <iostream>

using namespace std;

 

int fun(int a,int b)

{

if(b==0) return a;

else return fun(b,a%b);

}

int main(void)

{

int a,b;

cin>>a>>b;

cout<<fun(a,b)<<endl;

}

c++代码用递归法求最大公约数 这个是用递归法来写最大公约数,当然原算法还是欧几里得算法;只不过代码比较简洁 立即下载

相关推荐

钉钉开发(三)——Java推送钉钉待办任务

之前一篇博文中,讲解了如何推送钉钉群消息,感兴趣的可以点击查看。 钉钉开发(一)——Java给钉钉群推送消息

Monten_Cristo的博客 6411

欧几里得算法求最大公约数之惊掉下巴的代码简化(纯C语言)

欧几里得算法求最大公约数也叫辗转相除法。 证明 有两个数a,b,且a = kb + r(a,b,k,r皆为正整数,且r<b) 假设d为a,b的一个公约数 而r = a - kb,两边同时除以d,r/d=a/d-kb/d=m,m为整数 因此d也是r的公约数 所以a,b,r最大公约数也必然相等 因此可以不断地将三个数中较小两个相除取余得到最大公约数 例 求402,256最大公约数 402/256=1······146 256/146=1······110 146/110=1······36 110/36

weixin_46015333的博客 2276

LDA模型参数优化实战:从auto设置到passes调优

本文深入探讨了LDA主题模型的参数优化实战,重点解析了如何通过设置alpha='auto'与eta='auto'让模型自适应语料,并详细阐述了passes参数对训练效果的核心影响。文章提供了系统的调优方法与评估策略,旨在帮助用户从“能用”到“用好”LDA,产出清晰、可解释的主题分析结果。

weixin_29163797的博客 118

欧几里得算法与扩展欧几里得算法——公钥密码的数学基础

本文主要讲解欧几里得算法与扩展欧几里得算法这两个公钥密码的数学基础,通过上手计算、代码总结和数学证明三个方面细致描写这两个基本的数学定理,可以解答部分同学对密码学的部分疑惑

weixin_47383889的博客 898

GXHT40温湿度传感器:I2C通信与CRC校验实战解析

本文详细解析GXHT40温湿度传感器的I2C通信协议与CRC校验机制,涵盖硬件连接、时序控制、数据读取及加热功能应用。通过实战案例分享优化技巧与异常处理,帮助开发者提升嵌入式系统中传感器数据的准确性与可靠性。

rgv234567的博客 242

NCBI Datasets CLI优化:解决基因组数据下载报错与速度问题

基因组数据下载是生物信息学分析的关键环节,其稳定性和效率直接影响研究进度。NCBI Datasets CLI作为官方命令行工具,常面临连接中断和下载速度慢两大痛点,这主要源于服务器连接限制和网络传输问题。通过自动重试机制和校验修复流程可提升稳定性,而连接复用与CDN加速等技术能显著提高下载效率。在植物基因组等大规模数据场景中,结合脱水模式和增量更新策略可减少70%传输量。本文以艾草基因组项目为例,展示如何通过并行下载和API优化将100个基因组的下载时间从18小时缩短至2小时,为生物信息学研究提供可靠的数据

weixin_29051245的博客 243

c/c++求两个数的最大公约数(递归版)

** c/c++求两个数的最大公约数(递归版) ** 我们先假设 x>y gcd(x,y)为x与y的最大公约数,先假设gcd(x,y)=d, d为x和y的最大公约数,那么可以得到这样一个结论:x能被d整除,y能被d整除。 OK,注意了,要变换了,因为x和y都能被d整除,所以x-y也能被d整除(我们提前假设了x>y了的额),再变换一下,因为x-y能被d整除,所以(x%y)也能被d整除。 OK,我们可以得到gcd(x,y)=gcd(x-y,y)=gcd(x%y,y) 应该能理解吧(你想想看嘛

小知识吖 5376

【两方演化博弈代码复现】:双方演化博弈的原理、概率博弈仿真、相位图、单个参数灵敏度演化

演化博弈论是研究个体在特定环境中如何通过策略选择与其他个体进行互动的学科。这一理论在生物学、经济学和社会科学等多个领域都有广泛应用。本文将深入探讨双方演化博弈的原理及其过程,并解读一段 MATLAB 代码,展示如何模拟这一过程。

当回首往事的时候,不会因虚度年华而悔恨,也不会因碌碌无为而羞愧。 6198

欧几里得求两个整数最大公约数算法的汇编递归实现代码

 《intel 汇编语言程序设计》第八章练习题;程序的描述:求最大公约数算法的汇编递归实现,欧几里得算法又称辗转相除法;作者:落叶树;创建日期:16:42 2007-7-30;版本:INCLUDE Irvine32.inc.data.codemain PROC    mov eax,1000h    mov ebx,100h    call TwoIntnoRecursive_gcd  ;

落叶树的BLOG 3113

基于开源项目构建 CFS(网络靶场实战演练)平台

摘要:构建CFS网络靶场可使用多个开源组件组合,包括EVE-NG/GNS3或ContainerLab构建网络环境,Kasm提供工作空间,CALDERA+Atomic Red Team实现攻击模拟,DetectionLab建立防御环境,Malcolm/Arkime进行流量监控,CyRIS提供编排框架,Vulhub/DVWA创建漏洞靶标。关键在于通过API深度集成各组件,同时需注重安全隔离、资源规划及维护成本。建议开发统一管理平台,结合Ansible/Terraform实现自动化部署,打造定制化实战演练环境。(

深山技术宅的博客 1846

Python趣学篇:用Pygame打造绚烂流星雨动画

这是一个基于Pygame开发的流星雨动画项目,具有以下特效:🌠多彩流星:8种不同颜色的流星随机生成,每颗都有独特的轨迹✨粒子尾迹:每个流星都带有动态的粒子拖尾效果,增强视觉冲击力🌟闪烁星空:150颗背景星星营造真实的夜空氛围🌌渐变背景:深蓝到黑色的自然渐变,模拟夜空色彩💫斜向轨迹:所有流星都以30-60度角自然斜向下运动🎨中文显示:完美支持中文字体,显示"斜向流星雨来啦!"等文字整个程序运行流畅,达到60FPS的丝滑体验,让你仿佛置身于真实的流星雨之中!

Code_流苏:在代码中寻诗意,在实践中觅真知 6060

扩展欧几里德算法详解

扩展欧几里德算法     谁是欧几里德?自己百度去     先介绍什么叫做欧几里德算法     有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做?     欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出

蛤蛤~ 12万+

YOLO26核心模块解析:SimSPPF轻量化空间金字塔池化的原理与优势详解

SimConv作为现代深度学习的基础构建块,其设计虽然简洁,但包含了多项关键技术的有机组合。通过将卷积、批量归一化和激活函数整合为统一模块,SimConv不仅提供了稳定的训练特性和良好的表达能力,还为后续更复杂网络架构的发展奠定了基础。SimConv的成功在于其体现了深度学习设计的核心理念:简洁性与有效性的平衡。它证明了通过合理的技术组合,可以在不显著增加复杂度的前提下大幅提升模型性能。随着深度学习技术的持续发展,SimConv及其变种将继续作为重要的基础组件,推动计算机视觉和人工智能技术的进步。

know_F0727的博客 2619

欧几里德算法(辗转相除法) 求最大公约数

转自:http://www.cnblogs.com/dah/archive/2007/03/06/666114.html 今天上课老师问"辗转相除法"又叫什么算法..居然没人知道..更居然的是..老师也忘了...以前我貌似在VC的Samples里看到过这个算法, 似乎是叫欧几里德... 但也忘了是怎么辗转相除的.. 特此"百度知道"之:Euclid欧几里德算法又

howard的技术之路 1120

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

扩展欧几里德算法详解以及乘法逆元

扩展欧几里德算法:     谁是欧几里德?自己百度去     先介绍什么叫做欧几里德算法     有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做?     欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的

∑bit 621

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

最大公约数

最大公约数 【问题描述】 输入任意两个自然数,求它们的最大公约数。 【样例输入】 8 40 【样例输出】 8 【问题分析】 今天我们讲一个数学技巧,欧几里德算法。 (1)欧几里德算法也叫辗转相除法,是指用于计算两个正整数a,b的最大公约数。 (2)算法原理: 对于任意两个正整数a和b,如果a/b = q…r(a除以b的商是q,余数是r),那么a和b的最大公约数等于b和r的最大公约数。 具体的算法...

信息学编程 225

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

扩展欧几里德算法详解(转载)

扩展欧几里德算法详解(转载) https://blog.youkuaiyun.com/zhjchengfeng5/article/details/7786595 扩展欧几里德算法 谁是欧几里德?自己百度去 先介绍什么叫做欧几里德算法 有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用...

weixin_44616374的博客 182

如何快速求解最大公约数和最小公倍数(附c++/java/python代码)

原理:从i1i = 1i1开始,每次加1,一直到x和y中较小的那个值,然后找出能同时整除x和y的i值,这些i值的乘积就是最大公约数。代码实现(以Java为例)最大公约数在这里插入代码片if(x > y){x = y;y = temp;i <= x;y = y / i;- **最小公倍数**:最小公倍数等于最大公约数乘以最后的x和y值。y = temp;i <= x;

2302_80700357的博客 1501

扩展欧几里德算法

    扩展欧几里德算法     先介绍什么叫做欧几里德算法     有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做?     欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我...

从早学到晚 273

扩展的欧几里德算法的学习

以下内容来自转载: 先介绍什么叫做欧几里德算法     有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做?     欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 b 的最大公约数了

Eminem1147的博客 320
下一篇: 新手学习java的心得体会
程序员迈克
博客等级 码龄16年 36粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值