CodeWar(JavaScript)---Find the divisors!

9 篇文章 0 订阅

Find the divisors!

题目:

Create a function named divisors/Divisors that takes an integer n > 1 and returns an array with all of the integer’s divisors(except for 1 and the number itself), from smallest to largest. If the number is prime return the string ‘(integer) is prime’ (null in C#) (use Either String a in Haskell and Result<Vec, String> in Rust).

翻译(来自有道翻译):

创建一个名为divisors/ divisors的函数,该函数接受一个整数n > 1,并返回一个数组,其中包含该整数的所有除数(除了1和数字本身),从最小到最大。如果数字是素数,返回字符串’(integer)是素数’(c#中为null)(在Haskell中使用字符串a,结果,在Rust中使用字符串>)。

个人解题代码:

//思路:定义一个空数组tmp,使用for循环遍历输入值integer整除i
//如果可以整除就将i加到tmp当中,最后输出tmp,如果tmp为空输出integer is prime。
function divisors(integer) {

  var tmp = [];
  for(var i = 2 ; i < integer ; i++){
    if(integer % i == 0){
      tmp.push(i);
    }
    
  }
  if(tmp.length ==0 ){
    return integer+" is prime"
  }else{
    return tmp
  }
  
};

高亮答案:

function divisors(integer) {
  var res = []
  for (var i = 2; i <= Math.floor(integer / 2); ++i) if (integer % i == 0) res.push(i);
  return res.length ? res : integer + ' is prime'
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值