最大公约数的基本原理:

两个数的最大公约数是指能同时整除它们的最大正整数。
设两数为a、b(a≥b),求a和b最大公约数。

辗转相除法

代码如下:

//只截取了一部分,完整代码可看下方
while (b<0){t = a % b;a = b;b = t;}

我们可以发现辗转相除法,无非就是提供一个暂存变量t(或者是别的,这里只是方便举例),使其储存变量a%变量b的值(隐含条件a>b),然后使得较大变量(变量a)转换为那个较小变量(变量b),而较小变量转换为两者的取余的值。并且当b=0跳出循环得到相应的最大公约数变量a。

这是一个非常经典的关于最大公约数的一个求法,该段代码也取自如何得到最简分式的例题。

完整的代码如下:

#include <stdio.h>int main(){int dividend,divisor;scanf("%d/%d",&dividend,&divisor);int a = dividend;int b = divisor;int t;while (b<0){t = a % b;a = b;b = t;}printf("%d/%d\n",dividend/a,divisor/a);return 0;
}

求最大公约数——辗转相除法相关推荐

  1. 求最大公约数----辗转相除法

    辗转相除法(求最大公倍数) 一般写法: public class Main {public static void main(String[] args) {System.out.println(gc ...

  2. leetcode----1447.最简分数(辗转相除法求最大公约数)

    1447.最简分数 问题:给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 .分数可以以 任意 顺序返回. 示例: 输入:n = 2 输出: ...

  3. c语言用质因数分解法求最大公约数,分解质因数法求最大公约数(javascrip实现)

    //判断是否为质数------------------------------------------------------ function isPrime(n) { for (var i = n ...

  4. c++递归求最大公约数

    辗转相除法求最大公约数 辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫 欧几里德算法. 这就是辗转相除法的原理. 例如,求(319,377): ∵ 319÷377=0(余319) ∴ ...

  5. 辗转相除法(欧几里得算法)求 最大公约数与最小公倍数+推论与证明。

    首先我们规定:0不参与公约数和公倍数的讨论 先来讨论最大公约数: 最大公约数求法:两个数的所有公共质数相乘. 考虑三个问题. 为什么是公共的:公共代表这个数可以被两个数都整除 为什么是质数:合数一定能 ...

  6. 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...

    给你打个比喻吧:你英雄救美了,美女想要报答你,你想要1000块感谢费,但是美女却想要以身相许 ,懂了吧,同样都是报答,只是用了不一样的方式,辗转相除法也是这样,你两个数的最大公约数不容易求,我就用另外 ...

  7. 利用辗转相除法——求最大公约数(详解)

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

  8. 多项式辗转相除法求最大公约数_辗转相除法求最大公约数

    辗转相除法求最大公约数 约数 如果数 a 能被数 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数. 最大公约数 最大公约数就是两个数中,大家都能相约且最大的数. 辗转相除法 辗转相除法又名欧 ...

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

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

最新文章

  1. CNN 常用网络结构解析 1x1 卷积运算 示意图
  2. win7怎么查看电脑配置_电脑死机是什么原因?出现问题你会怎么办?
  3. 【uni-app】动态计算图片高度且保持宽高比
  4. 怎么看调用的接口_SpringCloud服务间调用
  5. 想创业?从学会需求谈判开始
  6. C语言--职工信息管理系统(含论文)
  7. 纯JS实现简易扫雷小游戏网页项目
  8. 社交媒体用户行为研究,图神经网络 社交网络
  9. 动图解析:22张电气元件原理动图
  10. win10系统无工具一键升级与重装
  11. scrapy SpiderMiddleware DownloaderMiddleware
  12. Intel Centrino 2 vPro平台上的Intel AMT 4.0技术相关资源
  13. 设计灵感:12个App的登录注册界面案例参考
  14. 基于MATLAB卡尔曼滤波器实现动态人物的跟踪检测
  15. 苹果中国官网全面更新,官翻产品不容错过!
  16. uni-app图片显示
  17. DTRO垃圾渗滤液处理设备技术要点详解
  18. AI 入行那些事儿(10)人工智能的应用领域
  19. DIV+CSS布局实战---海南旅游网
  20. 弹性地基梁板实用计算_桥梁支架设计计算,看这里!

热门文章

  1. php开发电商项目的技术,[项目实战] php电商开发基本功课程 电商后台实战开发视频教程 共6章...
  2. java+的数组分割符_Java:使用分隔符连接基元数组
  3. ubuntu php设置,关于ubuntu php环境设置详解-PHP问题
  4. html 表格行排序,用客户端HTML表格排序对行进行分组
  5. js 二叉树图形_js数据结构和算法(三)二叉树
  6. Jackson快速入门
  7. tcping在linux用法,tcping的安装和使用
  8. linux查看分区树形状态,查看Linux磁盘的分区状态(lsblk、blkid、parted)
  9. linux内核提取ret2usr,Linux内核漏洞利用技术详解 Part 2
  10. linux安装服务程序,将 Go 程序安装成系统服务