一、最大公约数与最小公倍数

最大公约数,属于数论所探究的内容。

最大公约数可以通过下面的三种方法求出来。

最小公倍数呢,它与最大公约数的乘机为所求数之积。

比如求  x,y的最大公约数和最小公倍数

记住这个公式: x*y=最小公倍数*最大公约数

这样以来求出最大公约数后就可以求出最小公倍数

二、求最大公约数的三种方法

①辗转相除法

算法流程图

代码块:

int measure(int x, int y)
{     int z = y;  while(x%y!=0)  {  z = x%y;  x = y;  y = z;    }  return z;
}  

运行结果:

②辗转相减法

代码块:

int measure(int a,int b)
{         while(a != b)  {  if(a>b)  {  a = a - b;  }  else   {  b = b - a;  }  }  return a;
}  

运行结果:

③穷举法

流程图:

代码块:

int measure(int x,int y)
{  int temp = 0;  for(temp = x ; ; temp-- )  {  if(x%temp == 0 && y%temp==0)   break;   }  return temp;
}  

代码实现

//****************************************************************************************************
//  求两个自然数的最小公倍数 - C++ -
//  最小公倍数 = 两数的乘积 / 最大公约数
//****************************************************************************************************  #include <iostream>
#include <cassert>
#include <stack>
#include <math.h>  using namespace std ;  int GreatestCommonDivisor(int a, int b)
{  int temp;  if(a < b)  {  // 交换两个数,使大数放在a的位置上。  temp = a;  a = b;  b = temp;  }  while(b != 0)  {  // 利用辗转相除法,直到b为0为止。  temp = a % b;  a = b;  b = temp;  }  return a;
}  int LeastCommonMultiple(int a, int b)
{  int temp = a * b / GreatestCommonDivisor(a, b);  return temp;
}  int main()
{  cout << LeastCommonMultiple(318, 87632) << endl;  return 0;
}  

算法篇----求两数的最大公约数和最小公倍数相关推荐

  1. 算法:求两个数的最大公约数与最小公倍数的方法

    1.计算两个整数的最大公约数方法有两种 第一种是使用<九章算术>中的更相减损术方法,"以少减多,更相减损,求其等也,以等数约之,等数约之,即除也,其所以相减者皆等数之重叠,故以等 ...

  2. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  3. 百度web前端面试题之求两个数的最大公约数和最小公倍数

    求两个数的最大公约数和最小公倍数,好像是第三题, 找到如下简洁写法: <1> 用辗转相除法求最大公约数 算法描述: m对n求余传给自己,再次求余, 若余数等于0 则 n 为最大公约数 &l ...

  4. 【经典100题】 题目16 求两个数的最大公约数和最小公倍数

    题目 求两个数的最大公约数和最小公倍数. 最大公约数:指两个或多个整数共有约数中最大的一个 最小公倍数:指两个或多个整数共有倍数中最小的一个 说明:自己没有搞清楚最大公约数和最小公倍数的定义,结果走了 ...

  5. 求一组数的最大公约数和最小公倍数

    求一组数的最大公约数和最小公倍数 问题描述 1.[简单练习]求N个数的最大公约数和最小公倍数 2.[提高练习]Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankso ...

  6. 求两个数的最小公约数和最小公倍数

    题目: 求两个数的最小公约数和最小公倍数 思路: 求最大公约数: 欧几里得在其<几何原本>中提出的欧几里得算法,有称辗转相除法,  具体做法是如果q和r分别是m除以n的商及玉树,m=nq+ ...

  7. 编写两个函数分别求两个数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个数由键盘输入。 输入输出格式示例: 输入:24 16 输出:zdgys=8,zxgbs=48

    编写两个函数分别求两个数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个数由键盘输入. 输入输出格式示例: 输入:24 16 输出:zdgys=8,zxgbs=48 #include ...

  8. c语言用迭代法求最大公约数,用迭代法求两个数的最大公约数和最小公倍数

    c语言论文 用迭代法求两个数的最大公约数和最小公倍数 化工09110605 摘要:迭代法是一种循环控制语句和循环结构程序的设计方法.在计算机解决问 题的时候,总希望从复杂的问题中找到规律,并归结为简单 ...

  9. 求两数的最大公约数算法

    最大公约数,也称最大公因数.最大公因子,指两个或多个整数共有约数中最大的一个: a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号: ...

  10. python编写函数、计算三个数的最大公约数_python 函数求两个数的最大公约数和最小公倍数...

    1. 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公约数 所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下: 2. 求最大公约数算法: 1. 整数A对整数B进行 ...

最新文章

  1. 您的主机不满足在启用hyper-v或device_是时候换掉你的旧书桌了!乐歌E5M电动升降桌,坐立换姿不疲劳...
  2. java future用法_Java中的多线程知识点
  3. c语言菱形花圃,一种便于自动修剪花圃的电锯支架的制作方法
  4. [Android] Gradle 安装
  5. 使用Xshell连接Linux服务器
  6. python程序运行不出来_python实战演练2:python可执行文件运行不成功怎么办
  7. S3C2440 lds链接脚本解析
  8. 谈谈为什么要系统学习算法-开复的一篇文章
  9. 【渝粤题库】陕西师范大学201831 课程论 作业
  10. IDEA 常用设置 与 常用操作(一)
  11. python 中的list 转 array 以及 array 转 list 以及array.array numpy.array
  12. 倒向随机微分方程(BSDE)解对终端值的依赖性
  13. C语言---编译器、编辑器
  14. html制作古诗念奴娇,古诗文《念奴娇 赤壁怀古》原文|注释|赏析 - 可可诗词网...
  15. 列表(ListNode)
  16. 2自由度悬架LQR控制
  17. Nginx编译安装与配置
  18. Sublime Text正确的打开方式
  19. SAP S4 Material Management 库存模块 MARD 数据库表读取技术细节介绍
  20. android 双屏壁纸,高清全面屏双屏壁纸

热门文章

  1. 计算机水平考试ps证书,2017全国ps考证成绩查询入口(2)
  2. PPT中插入矢量图(以及从visio直接复制变模糊的处理方法)
  3. 百度地图聚合找房开发
  4. Pytorch之反向传播
  5. RS232串口与RS485串口的区别
  6. html document怎么转换成word,如何将HTML document文件类型转换成word document?
  7. 如何引用阿里云矢量图标库
  8. 贝叶斯估计、最大似然估计、最大后验概率估计
  9. mysql通配符大全_MySQL模糊查询用法大全(正则、通配符、内置函数等)
  10. 倾斜摄影三维建模全流程