Pergunta de entrevista da empresa Société Générale

write a factorial function