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

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

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

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

比如求  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. ws2_32.lib 网络编程
  2. Provisioning profile XXXX can't be found
  3. SVN的安装和启动SVN的安装
  4. android 6.0 sd卡读写权限,Android 6.0 读写SD卡权限问题
  5. str()和repre()的区别
  6. 让威胁管理跟上数据中心奔跑的速度
  7. 移动设备 (Android),How-To Geek正在寻找专注于移动设备(Android,iOS,可穿戴设备等)的作家 | MOS86...
  8. 写出gradle风格的groovy代码
  9. java第一阶段知识_第一阶段 Java语言(下)
  10. Bootstrap3 动态模态对话框
  11. mysql undrop_MySQL · 数据恢复 · undrop-for-innodb
  12. python菜鸟教程网-Python JSON
  13. 如何对大数据进行分析
  14. 真正开源erp,良心团队。点可云ERP
  15. js分页插件:首页,上页,快退,页码,快进,下页末页,跳转,使用模板,灵活自由
  16. SpringBoot整合tkMybatis基础教程
  17. 关于ViewPager.PageTransformer的一些理解
  18. 【数字水印】基于matlab DFT数字水印嵌入提取攻击【含Matlab源码 2320期】
  19. 用hidusb.sys还是winusb.sys读写一个只有In/Out Interrupt Endpoints的STM32 USB设备?
  20. java地图点线面_点线面类型互转

热门文章

  1. 金蝶EAS初始化操作手册之科目表
  2. 【去水印】最简单的百度图片去水印
  3. Redis(二)Redis客户端的使用
  4. 《个人信息安全规范 (2019-6-21) 》征求意见稿的最新变化
  5. Electron技术架构
  6. 0到1使用spring-security(Spring的安全认证框架)
  7. 微信小程序毕业设计 基于微信选修课报名抢座小程序系统开题报告
  8. 【Maven】阿里镜像仓库地址
  9. 小米笔记本linux指纹,小米笔记本Air 13.3寸指纹版(128GB)如何bios设置u盘启动
  10. MFC控件-Spin控件和编辑框控件Edit Control绑定使用