zoukankan      html  css  js  c++  java
  • 求最大公约数和最小公倍数

    非常easy的数学问题。只是大家是否可以准确实现?

    求最大公约数(greatest common divisor)的方法:

    一、辗转相除

    ①设有两个正整数i、j。 且i>j;

    ②计算c=i%j。

    ③若c等于0,则j是i和j的最大公约数;若c不等于0,则i=j。j=c。

    ④反复②③直到求得最大公约数;


    二、相减法

    ①设有两正整数i、j。

    ②若i等于j,则i或j就是两数的最大公约数;

    ③若i>j,i=i-j ;否则,j=j-i。

    ④反复②③直到得到最大公约数


    三、暴力枚举

    ①设有两正整数i、j。

    ②如果i<j,令k=i,

    ③i。j分别对k求余,若余数都为0,则k为i、j最大公约数;否则k--,继续运行③,直到求出两数最大公约数;


    求最小公倍数(least common multiple)的方法:

    一、暴力枚举

    ①设有正整数i,j。最好还是设i>j。

    ②令k=i;

    ③k分别对i。j求余,若余数均为零,则k为i。j的最小公倍数。否则令k+=i。反复③,直到求出最小公被数;


    二、依据最大公约数和最小公倍数的关系求解

    LCM(i,j) = i*j / GCD(i,j)。

    两正整数的最小公倍数等于两数的积除以两数的最大公约数,最大公约数可以由前面的公式计算;




查看全文
  • 相关阅读:
    [SpriteKit] 制作瓦片地图小游戏
    TouchID 指纹解锁
    iOS-启动动态页跳过设计思路
    iOS-高仿通讯录之商品索引排序搜索
    Python: PS 滤镜--马赛克
    Tensorflow学习笔记——占位符和feed_dict(二)
    Tensorflow学习笔记——张量、图、常量、变量(一)
    IDEA 单元测试
    sublime —— 强大的插件
    window环境下在anconda中安装opencv
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10743818.html
  • Copyright © 2011-2022 走看看