Welcome to Subscribe On Youtube
1952. Three Divisors
Description
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 <= 104
Solutions
-
class Solution { public boolean isThree(int n) { int cnt = 0; for (int i = 2; i < n; i++) { if (n % i == 0) { ++cnt; } } return cnt == 1; } } -
class Solution { public: bool isThree(int n) { int cnt = 0; for (int i = 2; i < n; ++i) { cnt += n % i == 0; } return cnt == 1; } }; -
class Solution: def isThree(self, n: int) -> bool: return sum(n % i == 0 for i in range(2, n)) == 1 -
func isThree(n int) bool { cnt := 0 for i := 2; i < n; i++ { if n%i == 0 { cnt++ } } return cnt == 1 } -
/** * @param {number} n * @return {boolean} */ var isThree = function (n) { let cnt = 0; for (let i = 2; i < n; ++i) { if (n % i == 0) { ++cnt; } } return cnt == 1; }; -
class Solution { public boolean isThree(int n) { int cnt = 0; for (int i = 1; i <= n / i; ++i) { if (n % i == 0) { cnt += n / i == i ? 1 : 2; } } return cnt == 3; } } -
class Solution { public: bool isThree(int n) { int cnt = 0; for (int i = 1; i <= n / i; ++i) { if (n % i == 0) { cnt += n / i == i ? 1 : 2; } } return cnt == 3; } }; -
class Solution: def isThree(self, n: int) -> bool: cnt = 0 i = 1 while i <= n // i: if n % i == 0: cnt += 1 if i == n // i else 2 i += 1 return cnt == 3 -
func isThree(n int) bool { cnt := 0 for i := 1; i <= n/i; i++ { if n%i == 0 { if n/i == i { cnt++ } else { cnt += 2 } } } return cnt == 3 } -
/** * @param {number} n * @return {boolean} */ var isThree = function (n) { let cnt = 0; for (let i = 1; i <= n / i; ++i) { if (n % i == 0) { cnt += ~~(n / i) == i ? 1 : 2; } } return cnt == 3; };