最近在做奥赛题时碰到求最大公约数的问题,给出解决方案:

int gcd(int a,int b){int tmp = a%b;if(tmp == 0){return b;}else{return gcd(b,tmp);}
}

使用递归的方法能有效缩短代码长度,达到目的。

欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。算法是用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。贴张图:

转载于:https://www.cnblogs.com/lyj00912/p/11363135.html

C++7行代码实现求最大公约数相关推荐

  1. 最大公约数和最小公倍数python代码_python求最大公约数和最小公倍数的简单方法...

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  2. 递归方法求最大公约数,求最小公倍数

    1. 编写目的 介绍一种方法求两个整数的最大公约数.(GCD,递归) 然后顺便求一下最小公倍数. 2. 具体过程 递归函数mygcd只有一行代码,如下: int mygcd(int a,int b) ...

  3. 八皇后问题初始思路python_Python 学习笔记(一)10行代码解决八皇后问题

    不引入标准库和第三方库,不用分号将多行代码写在一行,再10行代码之类求出八皇后问题的所有解. ----------------------------------------------------- ...

  4. 求最大公约数及求多个数的最大公约数

    求两个数的最大公约数的三种方法: 一. 穷举法: 分析:因为最大公约数必小于等于这两个数中的较小数,故先取两个数中较小的值 t 作为起始值开始判断,满足后直接输出并结束,不满足则继续判断 t- -,直 ...

  5. 7行代码AC——1010 一元多项式求导 (25分)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 设计函数求一元多项式的导数.(注:x​n(n为整数)的一阶导数为n*x​n-1​​ .) 输入格式: 以指数递降 ...

  6. 求最大公约数c语言代码_辗转相除求最大公约数原理

    辗转相除法代码 代码并不难,很多人都会写. public static int f(int a, int b){ while(b != 0){ int temp = b; b = a % b; a = ...

  7. 辗转相除法求最大公约数原理分析(附代码实现)

    辗转相除法求最大公约数原理分析(附代码实现) 前言 解释 原理分析 代码 结语 前言 辗转相除法用起来很简单,但是其原理却自己想不明白.于是乎看了几篇有关辗转相除法原理的分析,在这里自己写下自己的理解 ...

  8. PHP典型案例计算1-10的阶乘的和,PHP输入两个整数m和n,求最大公约数和最小公倍数这两个代码

    目录 一.前言 二.代码段 1.计算1-10的阶乘的和的代码段 2.输入两个整数m和n,求最大公约数和最小公倍数的代码段 三.实现结果(流程) 1.计算1-10的阶乘的和的代码段的显示结果 2.输入两 ...

  9. c语言求最大公约数(c语言求最大公约数和最小公倍数代码)

    C语言中求两个数的最大公约数的公式是什么? int i,a=3,b=6; int max=b; //初始化b大,下面判断如果a>b就把a给max //判断a,b大小 if(a>b) max ...

最新文章

  1. MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表
  2. 不愿说再见 | 自动化系2019年毕业典礼发言
  3. python编程案例教程书籍-Python程序设计案例教程
  4. 信息系统项目管理师-论文要求
  5. hdu 2896 病毒侵袭(AC自动机)
  6. 复现经典:《统计学习方法》第1章 统计学习方法概论
  7. 微软发布 VS Code 容器化开发工具,大大简化物联网设备开发
  8. 【操作系统】实验 设计一个按优先权调度算法实现处理器调度的程序
  9. 漫话:如何给女朋友解释为什么Java线程没有Running状态?
  10. 安卓最好的浏览器_今日软件 | AI一键抠图、隐私保护工具、全能下载器、安卓启动器、茄子快传、迅雷、批量字符替换、傲游浏览器、全局负一屏...
  11. 涨跌停计算器_股票涨跌停计算器
  12. 移远BC95 nbiot接入华为OC云平台(电信云)
  13. nosqlbooster pojie
  14. Excel的筛选功能应用教你在大数据中筛选出需要的数据
  15. 小爱控制HA上的开关(红外线)
  16. 一个普通计算机培训学校学生的迷茫。
  17. Windows账户隐藏
  18. matlab plotroc 画roc曲线
  19. latex 插图位置跑在文档最后的解决方法
  20. 逻辑思维类面试题汇集一

热门文章

  1. CodeForces - 868F Yet Another Minimization Problem
  2. docker基础——关于安装、常用指令以及镜像制作初体验
  3. 使用CXF发布WebService服务简单实例
  4. print($arr,true)的参数true表示将$arr的值返会,而不是打印
  5. DRILLNET 2.0------第十八章 起下钻水力参数计算模型
  6. 一个好用的PHP验证码类
  7. oracel动态sql实例
  8. 人群计数(Crowd Counting)研究综述
  9. 人人皆知Python功能,你还不了解嘛?
  10. 收藏 | Kaggle神器LightGBM最全解读!