zoukankan      html  css  js  c++  java
  • Algorithm Gossp (18) 最大公因数、最小公倍数、因式分解

    前言

    This Series aritcles are all based on the book 《经典算法大全》; 对于该书的所有案例进行一个探究和拓展,并且用python和C++进行实现; 目的是熟悉常用算法过程中的技巧和逻辑拓展。

    提出问题

    Algorithm Gossi:p 最大公因数、最小公倍数、因式分解

    说明

    关于数论基础的最大公因数和最小公倍数这里不加赘述,可以查看算法导论的推导。

    简单说明

    其本质上基础理论是任何一个整数都能分解为质数的幂的乘积, 这里有两个特性
    - 1, 辗转相除法 (A, B) = (B, r ) 其中 A,B的最大公约数就是B和A,B相处余数的最大公约数
    - 2, 最大公约数 * 最大公倍数 = A*B

    分析和解释

    代码

    python 求最大公约数

    def GCD(m,n):
        if n==0:
            return m
        return GCD(n, m%n)

    python 求最小公倍数

    def LCM(m,n):
        return m*n / (GCM(m,n))

    拓展和关联

    数论里面有很多可以缩减计算的方法, 有兴趣的可以看看。

    后记

    参考书籍

    • 《经典算法大全》
    • 维基百科
  • 相关阅读:
    select入门学习
    tomcat入门及相关学习
    Tomcat&Servlet
    CPU排行榜
    CPU后字母代表的含义
    刷 BIOS
    Java的三个体系
    XML入门及案例
    BootStrap笔记
    第三节 DOM及案例 表格全选、表单验证
  • 原文地址:https://www.cnblogs.com/actanble/p/6713398.html
Copyright © 2011-2022 走看看