1
숫자 "n"이 완벽한 힘인지 확인하려고합니다. 이 문제를 해결하기 위해 다음 코드를 만들었습니다.숫자가 완벽한 힘인지 계산 중 오류 메시지가 발생했습니다.
var isPP = function(n) {
console.log(n);
for (let base = 2; base < n; base++) {
//Change of base formula used to change natural log to log base "base"
let exp = Math.log(n)/Math.log(base);
//If "exp" variable is integer, return array containing base and exponent
if (Math.pow(base,exp) === n) {
return [base,exp];
}
}
return null;
}
이 한 무작위 시험을 제외한 모든 시험 (:, 오류 메시지가 읽을 때 N = 14618 "비 완벽한 전력 14,618에 null이 아닌 반환"예)를 전달합니다. 랜덤 테스트에서 62383의 "n"을 제공하는 경우에도 동일한 결과가 발생합니다.
코드가이 마지막 테스트를 제외한 모든 테스트를 통과하는 이유가 확실하지 않습니다. 숫자가 JS에 비해 너무 큽니까?
n = 9의 경우 실패합니다. – Isaac