如何求一系列数字的最小公倍数?

2023-12-20

给定一个由两个数字组成的数组,让它们定义一系列数字的开始和结束。例如,[2,6]表示范围 2,3,4,5,6。我想编写 javascript 代码来查找范围的最小公倍数。我下面的代码仅适用于小范围,而不是类似的[1,13](即范围 1,2,3,4,5,6,7,8,9,10,11,12,13),这会导致堆栈溢出。如何有效地找到范围的最小公倍数?

function leastCommonMultiple(arr) {
    var minn, max;
    if ( arr[0] > arr[1] ) {
        minn = arr[1];
        max = arr[0];
    } else {
        minn = arr[0];
        max = arr[1];
    }
    function repeatRecurse(min, max, scm) {
        if ( scm % min === 0 && min < max ) {
            return repeatRecurse(min+1, max, scm);
        } else if ( scm % min !== 0 && min < max ) {
            return repeatRecurse(minn, max, scm+max);
        }
        return scm;
    } 
    return repeatRecurse(minn, max, max);
}

我认为这可以完成工作。

function leastCommonMultiple(min, max) {
    function range(min, max) {
        var arr = [];
        for (var i = min; i <= max; i++) {
            arr.push(i);
        }
        return arr;
    }

    function gcd(a, b) {
        return !b ? a : gcd(b, a % b);
    }

    function lcm(a, b) {
        return (a * b) / gcd(a, b);   
    }

    var multiple = min;
    range(min, max).forEach(function(n) {
        multiple = lcm(multiple, n);
    });

    return multiple;
}

leastCommonMultiple(1, 13); // => 360360
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何求一系列数字的最小公倍数? 的相关文章

随机推荐

  • 从编号列表中删除数字和分隔符

    我经常处理用户提交到网站的列表 列表通常如下所示 Item Item 该模式通常是一个数字后跟分隔符 可以是 或 或 或任何其他典型的分隔符 数字和分隔符之间以及分隔符和列表项之间可以有一个或多个空格 有时列表项前面没有数字 在这种情况下不
  • 创建带有图像行的 UI 滚动视图

    我想在滚动视图上显示数据库中存在的图像 此外 我想在一行中显示 4 个图像 然后在下一行中显示下 4 个图像 依此类推 最初 滚动视图将仅显示 2 行 垂直滚动后 用户将看到将能够滚动浏览数据库中存在的所有图像 任何人都可以建议任何合适的措
  • 列表视图内的可点击链接

    列表视图可点击链接问题 我在 getView 中使用以下代码在列表视图中生成可单击的链接 myTextView setMovementMethod LinkMovementMethod getInstance String linkText
  • PDF 到 Pandas 数据框

    就在我以为我终于明白了的时候 真是个新手 我正在尝试从 PDF 表格的一列中获取数字列表 第一步我想转换为 Panda DF pip install tabula py pip install PyPDF2 import pandas as
  • 我无法在 RStudio 中将文档转换为 PDF

    我必须使用 RStudio 来编写 PDF 格式的报告 但是当我尝试将文档与 Rmarkdown 中的块中所需的包进行编写时 它向我显示以下错误 tlmgr search file global multirow sty tlmgr Rem
  • Python 类的意外行为

    我正在 OOP 中开发一个纸牌游戏只是为了练习 到目前为止我所写的内容中有一些奇怪的行为 当我使用clear方法清空双手时 会发生的是个别双手显示它们是空的 但是当我查看双手变量 显示双手 时 它们不是空的 我的问题是为什么 哈哈 我将把代
  • 如何管理不是通过类型下载的类型定义文件?

    我有一个Angular我正在使用的应用程序npm and typings管理拉下我的类型定义文件 d ts for TypeScript 不过我有几个 d ts不存在的文件typings并且可以手动滚动或从备用源手动下载 从项目结构的角度来
  • 映射类型以使所有属性成为必需

    TypeScript 类可以具有可选属性和必需属性 class SomeClass foo string bar string baz string qux string The Partial
  • Android Market 搜索引擎如何工作? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何提高应用在 Android Market 搜索结果中的排名 这些应用程序似乎没有按下载量排序 Edit 这个问题的范围仅限于使用 Android
  • 在 iPhone 上拖动 UIScrollView 时,OpenGL ES 视图中的动画冻结

    我有一个动画透明 OpenGL ES 子视图 Apple 模板 EAGLView 类的修改 它绘制一个旋转球体 就像 Apple 的示例一样 CADisplayLink 用于可用的设备 在同一屏幕上 有一个包含可以选择的 UIButtons
  • 如何为默认值“现在”的日期字段建立索引?

    我需要添加日期字段类型 以便文档将当前系统日期时间作为默认值 我正在使用 Elasticsearch 7 5 PUT myindex mappings properties create date type date format yyyy
  • 我不明白为什么我的 JavaScript 文件在链接时不会显示

    我不明白这里出了什么问题 而且我没有从 Javascript 文件中得到任何输出 我正在尝试使用 src 以便能够在索引文件之外键入我的 javascript 文件 这只是打印 html 文件 A test header 中的标题 而不打印
  • 如何使用 Teams JS SDK v2 向 Microsoft Teams 中的用户或频道发送大文本消息?

    我目前正在使用 Microsoft Teams JavaScript SDK v2 TeamsJS 开发一个应用程序 并且正在努力寻找一种向特定用户或频道发送大文本消息的方法 我已成功使用 selectPeople API 使用户能够从列表
  • 什么是 Cache-Control: private?

    当我访问时chesseng herokuapp com http chesseng herokuapp com我得到一个响应标头 如下所示 Cache Control private Connection keep alive Conten
  • 如何在docker中运行无头浏览器?

    我正在使用无头浏览器构建一个爬虫 但现在我想对我的应用程序进行 dockerize 我已经在我的 docker 映像中安装了 chrome 但在运行脚本时它会抛出错误 启动Chrome js const chromeLauncher req
  • @Transactional 与 JPA 和 Hibernate 有什么用?

    我正在学习如何使用 JPA 和 Hibernate 以及 MySQL 数据库创建 REST API 并且我看到了这个 Transactional 注释 有人能解释一下这个注释有什么用吗 例如我有这个简单的 DAO 类 Repository
  • 将 csv 导入到 xlsx python

    我正在尝试将 csv 文件中的一些数据放入现有的 Excel 文件中 我现有的 Excel 文件包含图像 而 xlrd 无法获取图像 我尝试使用 xlsxwriter 但它无法附加到现有的 xslx 我找到的唯一解决方案是使用 openpy
  • AppDelegate 文件适合 MVC 中的什么位置?

    我正在学习 iPhone iPad 编程 我相信我理解了MVC的概念 我遇到的困难是理解普通 iPhone iPad 应用程序中的某些文件如何适合 MVC 当您使用 基于视图的应用程序 模板创建新应用程序时 将创建 AppDelegate
  • Python pandas - 如果该项目在列表中,则新列的值

    我想在 pandas 数据框中创建一个新列 第一列包含国家 地区名称 该列表包含我感兴趣的国家 例如欧盟 新列应指示数据框中的国家 地区是否在列表中 以下是代码的简化版本 import pandas as pd import numpy a
  • 如何求一系列数字的最小公倍数?

    给定一个由两个数字组成的数组 让它们定义一系列数字的开始和结束 例如 2 6 表示范围 2 3 4 5 6 我想编写 javascript 代码来查找范围的最小公倍数 我下面的代码仅适用于小范围 而不是类似的 1 13 即范围 1 2 3