1952. Three Divisors

Easy


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




 import math
class Solution:
    def isThree(self, n: int) -> bool:


        divisor_count = 1

        for i in range(int(math.sqrt(n))):

            if n % (i+1) == 0:
                divisor_count+=1
                if i != 0 and (i+1 != int(n/(i+1))):
                    divisor_count+=1

            if divisor_count > 3:
                return False

        if divisor_count == 3:
            return True

Random Note


Need continuous some smaller/larger value? Use heap max or min as you need.