zoukankan      html  css  js  c++  java
  • GCD与LCM

    求最大公约数(GCD)和求最小公倍数(LCM);

    首先是求最大公约数,我们可以利用辗转相除法来求

    1 int gcd(int a,int b)
    2 {
    3     if(b==0)
    4         return a;
    5     return gcd(b,a%b);
    6 }

    这就是GCD的核心代码。

    剩下的LCM与gcd也有很大的关系,首先最大公约数也是最小公倍数的约数。

    所以最小公倍数除掉最大公约数就剩下这两个数不相交的因子。

    就比如12和8,提一个最大公约数4出来就只剩下3和2了。

    而3*2则是他们不相交的因子。

    所以最小公倍数就等于这两个数的乘积除以gcd;

     1 int gcd(int a,int b)
     2 {
     3      if(b==0)
     4          return a;
     5      return gcd(b,a%b);
     6 }
     7 int LCM(int a,int b)
     8 {
     9     return a*b/gcd(a,b);
    10 }
  • 相关阅读:
    hdu1085
    hdu1028
    hdu2189
    母函数
    博弈论
    nginx安装
    学习好站点
    nginx在linux下安装
    wget 命令用法详解
    U盘安装CentOS7的帖子
  • 原文地址:https://www.cnblogs.com/Iwpml-595/p/10665863.html
Copyright © 2011-2022 走看看