任务一:寻找完数 打印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