我正在创建一个函数,它将返回参数数字有多少个除数。
我有两种代码变体,代码通过了简单和中等数字的测试,但对于高数字,工具显示错误并要求我编写更有效的代码,因为服务器执行代码的时间太长,但我被困在这里。如何编写更干净的代码。
function getDivisorsCnt(n) {
let count = 0;
for (let i = 0; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
return count;
}
在第二种变体中,服务器还显示大数字的错误
function getDivisorsCnt(n) {
var result = [];
for (let i = 0; i <= n; i++) {
if (n % i == 0) {
result.push(i);
}
}
return result.length;
}
您的意思是整数分解吗? 对于大数字来说,这是一项艰苦的工作。如果你这样做,你就会破坏 RSA 算法