Factorial and Big-O Analysis