【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 ]
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值