Given an integer n
, return true
if n
has exactly three positive divisors. Otherwise, return false
.
An integer m
is a divisor of n
if there exists an integer k
such that n = k * m
.
Example 1:
Input: n = 2 Output: false Explantion: 2 has only two divisors: 1 and 2.
Example 2:
Input: n = 4 Output: true Explantion: 4 has three divisors: 1, 2, and 4.
Constraints:
1 <= n <= 10的四次方
/**
* @param {number} n
* @return {boolean}
*/
var isThree = function(n) {
let num=0
for(let i=1;i*i<=n;i++){
if(n%i===0){
if(n/i!==i){
num+=2
}else{
num+=1
}
}
}
return num===3
};
提交之后看评论说为什么不用暴力的方法,因为这种数肯定是质数的平方,输入限定在了10000内,所以找100内的质数就可以了
大概是因为,100内的质数不靠百度的话,自己找也是花时间的吧