辗转相除法

求最大公约数:
给定两个数,求这两个数的最大公约数

欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。

例如:假如需要求 100 和18 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
100 / 18 = 5 (余 10)
18 / 10= 1(余8)
10 / 8 = 1(余2)
8 / 2 = 4 (余0)
至此,最大公约数为2
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 100 和 18 的最大公约数2。


//最大公约数
//给定两个数,求这两个数的最大公约数
#include<stdio.h>
int Fac(int a, int b)
{int d = 1;int c = 0;while (d){c = a / b;d = a % b;a = b;b = d;}return a;
}
int main()
{int a = 0;int b = 0;int ret = 0;printf("请输入两个数字:\n");scanf("%d %d", &a, &b);if (a>b){ret=Fac(a, b);}else{ret = Fac(b, a);}printf("最大公约数:%d\n", ret);return 0;
}


辗转相除法求解最大公约数并不是唯一的方式,但是却相当简便!

利用辗转相除法——求最大公约数(详解)相关推荐

  1. 【求最大公约数详解】更相减损术和辗转相除法

    更相减损术 介绍 ​   更相减损术是出自<九章算术>的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合 步骤 任意给定两个正整数:判断它们是否都是偶数 ...

  2. C语言:最大公约数详解

    C语言:最大公约数详解 Hello!小伙伴们大家好,几天不见了,今天给大家分享一下C语言中求最大公约数的三种方法.在开始分享前,让我们先来看看什么是最大公约数:最大公约数,也称最大公约数.最大公因子, ...

  3. python能处理nc文件吗_利用python如何处理nc数据详解

    前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是"知难行易"还是"知易行难"都不能充分的说明问题,还是& ...

  4. python处理nc数据_利用python如何处理nc数据详解

    利用python如何处理nc数据详解 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用python如何处理nc数据详解.txt ] (友情提示:右键点上行txt ...

  5. c语言辗转相除法约分分数,更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)...

    假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m* ...

  6. python辗转相除法求最大公约数最小公倍数_辗转相除法求最大公约数/最小公倍数...

    http://blog.csdn.net/jtujtujtu/article/details/4407171 2009 辗转相除法求最大公约数: 辗转相除法, 又名欧几里德算法(Euclidean a ...

  7. python cv2 轮廓的包络 面积_Python 基于FIR实现Hilbert滤波器求信号包络详解

    在通信领域,可以通过希尔伯特变换求解解析信号,进而求解窄带信号的包络. 实现希尔伯特变换有两种方法,一种是对信号做FFT,单后只保留单边频谱,在做IFFT,我们称之为频域方法:另一种是基于FIR根据传 ...

  8. 线段树扫描线求矩形周长详解

    线段树扫描线求矩形周长详解 原创 wucstdio 最后发布于2018-04-24 16:12:09 阅读数 841 收藏 发布于2018-04-24 16:12:09 版权声明:本文为博主原创文章, ...

  9. QT快速入门、三点求圆心实现详解

    在编程中,会经常用到数学计算,所以C++将常用的数学计算,例如求正余弦等,封装成函数(正是我们在3.2 数学计算中学习到的),我们只需要写入简单的语句就可以执行所需要的功能,这正是函数的意义.在这一章 ...

最新文章

  1. Android开发UI之Fragment-Tabbed Activity的使用
  2. ReportViewer教程(2)-添加空报表Report1.rdlc
  3. oracle 里数据的编码格式,oracle 数据的编码格式
  4. (七)lucene之中文检索和高亮显示以及摘要
  5. OpenGL 获取当前屏幕坐标对应的三维坐标
  6. [转载] Python中协程的详细用法和例子
  7. ognl表达式的小知识点
  8. linux下挂载移动硬盘(ntfs格式)
  9. 语音合成(TTS)应用方案一二三
  10. AvalonDock使用(2)-简单布局设置
  11. 软件测试工程师面试如何做好自我介绍?月薪30k大鸟教你回答
  12. web 系统发展历程
  13. 中文编码问题分析及几种乱码场景
  14. metasploit unleashed(Chinese Simplified Edition)-8
  15. 表格一分为二html,如何在excel表中的将一个格子一分为二
  16. 操作系统【设有一组作业,它们的提交时间及运行时间如下所示:·····················】
  17. JetpackCompose从入门到实战学习笔记2——Modifier的简单使用
  18. python笔记 - urllib模块(二十一)
  19. 在小程序 onfire 的使用方法
  20. 淘宝客微信机器人SDK调用接口

热门文章

  1. 智慧电厂三维可视化定位技术,高效管控人员/车辆
  2. Cadence 软件快捷操作
  3. linux 秒数转时间,linux下如何把时间转成秒数,或把秒数转换成标准时间格式
  4. ubuntu 17 linux 网络,无路由器的情况下linux(ubuntu 17.04)如何连接联通的校园宽带?...
  5. 算法设计与分析第十三次作业
  6. 通俗理解ROC曲线(Receiver Operating Characteristic Curve)
  7. 试用Riya-带有人脸识别功能的在线照片服务
  8. laya-oppo 广告问题ad had showd, please reload
  9. 《德鲁克管理思想精要》读书笔记6 - 企业家战略
  10. 分享广东联通光猫超级密码