首页 > 编程语言 >算法1:寻找完数(JS)

算法1:寻找完数(JS)

时间:2023-10-07 15:34:47浏览次数:41  
标签:10000 数组 factors sum 算法 JS 因子 完数

任务一:寻找完数 打印10000以内的完数 完数:与自己所有因子之和相等的数。

 1 let sum = 0, i, j; // 定义变量sum、i和j
 2 
 3 for (i = 1; i < 10000; i++) {
 4     sum = 0; // 初始化sum为0
 5     let factors = []; // 存储因子的数组
 6 
 7     // 寻找i的因子并计算它们的和
 8     for (j = 1; j < i; j++) {
 9         if (i % j == 0) { // 如果j是i的因子
10             sum = sum + j; // 将j添加到sum中
11             factors.push(j); // 将j添加到factors数组中
12         }
13     }
14 
15     // 判断是否为完全数,即因子和等于i
16     if (sum == i) {
17         console.log(i + " = " + factors.join("+ "));
18     }
19 }

代码解释:

这段代码用于寻找并打印出小于10000的完全数。 首先,在控制台使用console.log打印出指定的信息。 然后,定义变量sum、i和j。 使用循环遍历从1到9999之间的所有数字。循环变量i代表当前的数字。 在每次循环开始时,将sum初始化为0,并创建一个空数组factors用于存储i的因子。 在内部循环中,使用变量j从1到i之间的所有数字,检查j是否为i的因子。如果i能被j整除,则将j添加到sum中,并将其添加到factors数组中。 完成内部循环后,判断sum是否等于i。如果相等,则打印出i以及factors数组中的元素,这些元素通过加号连接起来形成一个字符串表示因子和的表达式。 继续下一次循环,直到遍历完所有数字。 通过这段代码,我们可以找到并打印出小于10000的完全数,即因子和等于自身的数。  

标签:10000,数组,factors,sum,算法,JS,因子,完数
From: https://www.cnblogs.com/anzhizhumo/p/17746423.html

相关文章

  • LVS调度算法总结
     ipvsscheduler:根据其调度时是否考虑各RS当前的负载状态,分为两种:静态方法和动态方法静态方法:仅根据算法本身进行调度1、RR:roundrobin,轮询。较常用2、WRR:WeightedRR,加权轮询。较常用3、SH:SourceHashing,实现sessionsticky,源IP地址hash。将来自于同一......
  • nginx负载均衡中常见的算法及原理有哪些?
     #1)轮询(round-robin) 轮询为负载均衡中较为基础也较为简单的算法,它不需要配置额外参数。假设配置文件中共有台服务器,该算法遍历服务器节点列表,并按节点次序每轮选择一台服务器处理请求。当所有节点均被调用过一次后,该算法将从第一个节点开始重新一轮遍历。 特点:由于......
  • Lnton羚通视频分析算法开发平台监控区域自动识别人员闯入行为 危险区域闯入算法预警系
    Lnton羚通的算法算力云平台是一款卓越的解决方案,具备出众的特点。它提供高性能、高可靠性、高可扩展性和低成本的优势,使用户能够高效地执行复杂计算任务。此外,该平台还提供广泛的算法库和工具,并支持用户上传和部署自定义算法,以增强平台的灵活性和个性化能力。危险区域闯入识别预警......
  • ClickHouse选择正确的join算法
    支持的JOIN类型 JOIN算法概览clickhouse提供了6种JOIN算法:1.直接连接(Directjoin)2.哈希连接(Hashjoin)3.并行哈希连接(Parallelhashjoin)4.优雅哈希连接(Gracehashjoin)5.全排序合并连接(Fullsortingmergejoin)6.部分合并连接(Partialmergejoin) 这......
  • 输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序
    [12:38:09root@centos8~]#bashsort.shbeforesort:1475626459133973060324422175901602255661082520888121022092421146668557255975852542867817400aftersort:3060328678264592442220888175901740016022147561339711466108259758924272......
  • 探索程序员需要掌握的算法?
    文章目录一:引言二:常见算法介绍三:重点算法总结......
  • Node.js Assertion API All In One
    Node.jsAssertionAPIAllInOneNode.js断言API严格模式Instrictassertionmode,non-strictmethodsbehaveliketheircorrespondingstrictmethods.Forexample,assert.deepEqual()willbehavelikeassert.deepStrictEqual().在严格断言模式下,非严格方法的行......
  • 递归解析Json,实现生成可视化Tree+快速获取JsonPath
    内部平台的一个小功能点的实现过程,分享给大家:递归解析Json,可以实现生成可视化Tree+快速获取JsonPath。步骤:1.利用JsonPath读取根,获取JsonObject2.递归层次遍历JsonObjec,保存结点信息3.利用zTree展示结点为可视化树,点击对应树的结点即可获取对应结点的JsonPath1.利用JsonPath......
  • 10.7算法
    将有序数组转换为二叉搜索树给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。 示例1:输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]......
  • ATPG的D算法介绍
    ATPG算法实现测试向量自动化生成的算法,其中包含D算法、PODEM算法和FAN算法等。D算法为测试某一节点单固定故障,将其故障信息传递反映到输出中体现出来,我们把用穷举得出正确路径的方法称之为D算法。每个节点分为四种状态,1、0、X、D和D(-)。其中,X为0或1,意思是该节点值不影响最终......