1. Write a loop that calculates 12-factorial

factorial <- 1
for (i in 1:12) {
    factorial <- factorial * i
}
print(factorial)
## [1] 479001600

2. Show how to create a numeric vector that contains the sequence from 20 to 50 by 5.

num_vec <- c(seq(20, 50, 5))
print(num_vec)
## [1] 20 25 30 35 40 45 50

3. Create the function “factorial” that takes a trio of input numbers a, b, and c and solve the quadratic equation. The function should print as output the two solutions.

factorial <- function(a, b, c) {
    if (a == 0) {
        message("Not a quadratic equation. 'a' must not be zero")
        return(NULL)
    }
    else {
       discriminant <- (b ^ 2 - 4 * a * c)
       
       if (discriminant == 0) {
           return(-b / (2 * a))
       } else if (discriminant > 0) {
           discriminant_sq_root = sqrt(discriminant)
           sol_1 <- (-b + discriminant_sq_root) / (2 * a)
           sol_2 <- (-b - discriminant_sq_root) / (2 * a)
           return(c(sol_1, sol_2))
       } else {
           discriminant_sq_root = sqrt(-discriminant)
           sol_1 <- complex(real = -b / (2 * a), imaginary = discriminant_sq_root / (2 * a))
           sol_2 <- complex(real = -b / (2 * a), imaginary = -discriminant_sq_root / (2 * a))
           return(c(sol_1, sol_2))
       }
    }
}
print(factorial(1, 3, -4))
## [1]  1 -4
print(factorial(0, 3, -4))
## Not a quadratic equation. 'a' must not be zero
## NULL
print(factorial(2, -4, 8))
## [1] 1+1.732051i 1-1.732051i
print(factorial(1, -6, 9))
## [1] 3