javascript 计算给定数字的所有除数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 计算给定数字的所有除数。相关的知识,希望对你有一定的参考价值。

let classicCalculation = (n) => {
  let a = [];
  for(let i = 1; i <= n; i++){
   if( n % i == 0 ){
    a.push(i);
   }//if
  }//for
return a.length ? a : `${n} is prime`;
}//function

// performance analysis
let t0 = performance.now();
classicCalculation(5245396);
let t1 = performance.now();
console.log("Call to classicCalculation took " + (t1 - t0) + " milliseconds."); //took 39.700000001175795 milliseconds.

// Better way to implement this 
betterCalculatino= (n) =>{
let v = []
let a = []
	for(let i = 2; i<= Math.sqrt(n); i++){
		if ( n % i == 0){
			if ( n / i == i){
				v.push(i)
			} else {
				v.push(i)
				a.push(n/i)
			}
		}
	}
for(let p = a.length-1; p >= 0; p--){
	v.push(a[p]);
}
return v.length ? v : `${n} is prime number`;
}
let t2= performance.now();
betterCalculatino(5245396);
let t3 = performance.now();
console.log("Call to better took " + (t3 - t2) + " milliseconds."); // 1.7000000007101335 milliseconds

以上是关于javascript 计算给定数字的所有除数。的主要内容,如果未能解决你的问题,请参考以下文章

FF 的除数(计算给定数的除数乘积的除数)

计算给定数的除数的算法

有没有办法优化此代码以查找数字的除数?

力扣——自除数

leetcode 728. 自除数

力扣(LeetCode)728. 自除数