【JavaScript基础算法总结篇(二)】最大公约数和最小公倍数 */* 查找1 ~ 1000以内的完数

  • @No.1
  • @description:计算两个数的最大公约数和最小公倍数。
  • @input:
    12
    8
  • @output:
    最大公约数:4
    最小公倍数:24
var res = a*b;
while(b!=0){
	var m = a%b;
    a = b;
    b = m;
};
console.log("最大公约数:",a);
console.log("最小公倍数:",res/a);

/**
*@OUTPUT
最大公约数:4
最小公倍数:24
*/
  • @No.2
  • @description:1 ~ 1000完数算法(一个数等于除它本身以外的所有因子之和)
  • @input:
    12
    8
  • @output:
    最大公约数:4
    最小公倍数:24
for(var i = 1;i <= 1000;i++){
    var arr1 = [];
    var sum = 0;
    for(var j = 1;j < i; j++){
        switch(i % j){
            case 0:
                arr1.push(j); 
        };
    };
    for(var k = 0;k < arr1.length;k++){
        sum += arr1[k];
    };
    if(sum == i){
        console.log(i+'是完数',arr1);
    };
};

/**
*@OUTPUT
6是完数 [ 1, 2, 3 ]
28是完数 [ 1, 2, 4, 7, 14 ]
496是完数 [ 1, 2, 4, 8, 16, 31, 62, 124, 248 ]
*/

猜你喜欢

转载自blog.csdn.net/JZevin/article/details/107866801