a) L= {a n! :n>=1}
L={a^1 ,a^2, a^6.........}
IF the string length is in arithmetic progression then we can iterate the common difference in DFA but in above language the string length of strings are not in arithmetic progression so it is not regular. same is applicable for the remaining languages
b)L= {an :n is a perfect square}
c)L= {an :n is not a perfect square}
d)L= {an :n is not a prime number}
suppose if L={a^n/ n is even}
L={a^0, a^2, a^4..............}
here the string lengths of language is 0,2,4,6,8 so, it is in A.P. difference is 2.
Hence language is regular.