今天分享个稍微难点的算法-gcd

// temp = b; b = a%b; a = temp;
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int gcd(int a, int b)
{return b ? gcd(b, a%b) : a;
}int main()
{int a, b;printf("please input the a and b:");scanf("%d %d",&a,&b);printf("%d\n",gcd(a,b));system("pause");return 0;
}

求两个数的最大公约数虽然代码不多,但是思想还是较为复杂的,为什么要这么写,我也是理解了其他人所说的辗转相除这么个思想来解决的,首先如果x和y都能被y整除,那么他们的线性组合mx+ny也一定能被整除,记住这个,然后就好办了,设x和y两个数的余数为c,x/y=n余c,则可变换为x=ny+c,ny移到左边则x-ny=c则为x,y的线性组合则余数c也可以被z整除,就这样每次递归的思想,不断求两个数里的较小数和余数的最大公约数,直到余数为0时,a即为最大公约数。

gcd(最大公约数算法)相关推荐

  1. GCD最大公约数算法

    函数很简单不做多解释了 模拟一遍就会了 int gcd(int a,int b){if(b==0){return a;}else{return gcd(b,a%b);}}

  2. JavaScript实现求最大公约数 (GCD)的算法(附完整源码)

    JavaScript实现求最大公约数 (GCD)的算法(附完整源码) euclideanAlgorithm.js完整源代码 euclideanAlgorithm.js完整源代码 export defa ...

  3. 两数的最大公约数算法基础及优化

    最大公约数算法 师从 辗转相除法(欧几里得算法) 时间复杂度 更相减损术(<九章算术>) 时间复杂度 二分化更相减损术 思路 优化 时间复杂度 师从 本篇是观Vita君算法视频后总结,他是 ...

  4. 四种求最大公约数算法

    四种求最大公约数算法 1. 题目 运行最大公约数的常用算法,并进行程序的调式与测试,要求程序设计风格良好,并添加异常处理模块(如输入非法等). 分析最大公约数的4种算法,补充完整算法, 进行程序的调式 ...

  5. 二进制最大公约数算法

    一.介绍 二进制最大公约数算法避免了欧几里得算法(辗转相除法)的大量取模操作,有效减少了时间消耗,且更为方便. 二.原理 本算法基于以下事实: 对于两个数的最大公约数gcd(m, n),有 m< ...

  6. python计算最大公约数函数_Python实现的求解最大公约数算法示例

    本文实例讲述了Python实现的求解最大公约数算法.分享给大家供大家参考,具体如下: 使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式.其实,我写分解质因式程序的时候就是因为发现 ...

  7. python最大公约数计算的程序代码_Python实现的求解最大公约数算法示例

    本文实例讲述了Python实现的求解最大公约数算法.分享给大家供大家参考,具体如下: 使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式.其实,我写分解质因式程序的时候就是因为发现 ...

  8. python最大公约数算法流程图,Python 最大公约数算法

    Python 最大公约数算法 以下代码用于实现最大公约数算法: # Filename : test.py # author by : www.w3cschool.cn # 定义一个函数 def hcf ...

  9. python最大公约数代码_Python实现的求解最大公约数算法示例

    本文实例讲述了python实现的求解最大公约数算法.分享给大家供大家参考,具体如下: 使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式.其实,我写分解质因式程序的时候就是因为发现 ...

  10. python用递归方式实现最大公约数_Python 最大公约数算法 - Python 3 基础教程

    Python3 实例 以下代码用于实现最大公约数算法: 实例(Python 3.0+) # Filename : test.py # author by : www.runoob.com # 定义一个 ...

最新文章

  1. Sourse Insight使用教程及常见的问题解决办法
  2. 网络和大数据成为重要文化生产力
  3. Linux学习之系统编程篇:练习验证线程共享全局变量
  4. 输入年份和月份输出该月有多少天python_Python实现用户输入年月日,程序打印出这是这一年的第多少天...
  5. Centos7安装并配置mysql5.6完美教程
  6. 量子计算机讲座,活动回顾|学海无涯——量子计算漫谈
  7. 数据结构笔记(二十四)-- 哈夫曼编译码
  8. Docker之旅:了解Swarm集群
  9. 【C++】获取二维数组的行和列
  10. 线性表建立学生信息表
  11. matlab画图一片空白的问题
  12. python链家数据分析_练习—利用Python对链家网广州二手房进行数据分析
  13. dosbox运行C语言,DosBox的基本设置和安装
  14. 银行等额本息还款算法
  15. Pygame 打字游戏项目
  16. HTML在线颜色选择器源码
  17. 阿里云ECS数据迁移到阿里云OSS
  18. 产品设计过程中的沉没成本和禀赋效应
  19. ZJYYOJ 活字印刷(dfs)[C,C++]
  20. 蓝本蓝科技:做社群需不需要设置KPI,常见社群KPI指标

热门文章

  1. 绘制STM32最小系统PCB板
  2. redis客户端中文乱码,redis客户端显示中文
  3. WIN10 API打印CPU占用率
  4. springboot模式下在service层写sql到底好不好?求老司机解答一下
  5. otrs安装mysql_如何部署工单系统OTRS?
  6. [python爬虫]模拟登陆扇贝单词
  7. 反驳:程序员不是吃青春饭的—只有码农是,编程能力与年龄无关
  8. 【C/C++基础】C语言转义字符表
  9. CEF 设置Useragent、LOG路径、中文环境等
  10. google浏览器全黑