freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/rosetta-code/factors-of-an-integer.md

1.2 KiB

id title challengeType forumTopicId dashedName
597f1e7fbc206f0e9ba95dc4 整数の因数 5 302265 factors-of-an-integer

--description--

正の整数の因数を配列として返す関数を作成します。

これらの因数は正の整数であり、因数分解される数値を除算して、正の整数の結果を得ることができます。

--hints--

factors という関数です。

assert(typeof factors === 'function');

factors(45)[1,3,5,9,15,45] を返します。

assert.deepEqual(factors(45), ans[0]);

factors(53)[1,53] を返します。

assert.deepEqual(factors(53), ans[1]);

factors(64)[1,2,4,8,16,32,64] を返します。

assert.deepEqual(factors(64), ans[2]);

--seed--

--after-user-code--

const ans=[[1,3,5,9,15,45],[1,53],[1,2,4,8,16,32,64]];

--seed-contents--

function factors(num) {

}

--solutions--

function factors(num)
{
 let n_factors = [], i, sqr=Math.floor(Math.sqrt(num));

 for (i = 1; i <=sqr ; i += 1)
  if (num % i === 0)
  {
   n_factors.push(i);
   if (num / i !== i)
    n_factors.push(num / i);
  }
 n_factors.sort(function(a, b){return a - b;});
 return n_factors;
}