How to show that Language is not Context Free?
There is a pumping lemma for context free languages too.

In you case, if $L$ was context free, then there would be some constant $n_0$ such that all words $a^{n!}$ with $n! \ge n_0$, $a^{n!}$ could be decomposed as:
$$
a^{n!} = a^x a^y  a^v a^w a^z 
$$
such that $y+v+w \le n_0$, $y+v \ge 1$, and for all $i \ge 0$:
$$
a^x a^{yi}  a^v a^{wi} a^z \in L.
$$

Calling $\ell = y+w$ and simplifying, the above can be rewritten as:
$
a^{n!} = a^\ell a^{n! - \ell}
$
such that, for all $i \ge 0$, $a^{n!+(i-1)\ell} \in L$.

This cannot be true. To see this pick, e.g., $n=n_0+2$, and $i=0$.
Then $a^{n!+(i-1)\ell} = a^{(n_0+2)!-\ell}$, where
$
(n_0+2)! - \ell \le (n_0+2)! - 1 &lt; (n_0+2)!
$
and
$
(n_0+2)! - \ell \ge (n_0+2)! - n_0 = (n_0+1) \cdot (n_0+1)! - n_0 &gt; (n_0+1)!
$, showing that $n!-\ell \in ((n_0+1)!, (n_0+2)!)$ and hence it cannot be expressed as a factorial.