Day 25: Running Time and Complexity

  • + 0 comments
    1. it doesn't use math library ...
    2. Optimized sqrt()
    3. probes only odd candidate factor number until sqrt(n)
    def is_prime(num):
        if num <= 1:
            return False
    
        else:
            if num == 2:
                return True
    
            factor = 2
            if num % factor == 0:
                return False
    
            factor = 3
            while factor * factor <= num:
                if num % factor == 0:
                    return False
                factor += 2
    
        return True
    
    def print_is_prime(num):
        print("Prime" if is_prime(num) else "Not prime")