Société Générale Interview Question

write a factorial function