# TODO: Add comment
# 
# Author: internet
###############################################################################



#### first solution
is.prime <- function(num) {
	# check if a number is a prime number
	if (num == 2) {
		TRUE
	} else if (any(num %% 2:(num-1) == 0)) {
		FALSE
	} else { 
		TRUE
	}
}

# extend this function, so it accepts a vector
is.prime <- Vectorize(is.prime)


#### second solution
is.prime2 <- function(n){ n == 2L || all(n %% 2L:ceiling(sqrt(n)) != 0) }

# extend this function, so it accepts a vector
is.prime2 <- Vectorize(is.prime2)


## test
# is.prime(5)
# is.prime(c(1,2,3,4,5,6,7,8,9,10))
#
# is.prime2(5)
# is.prime2(c(1,2,3,4,5,6,7,8,9,10))
#


