Uma função é dita recursiva se é definida em seus próprios termos, isto é, quando dentro dela há uma instrução de chamada para ela mesma. Considere o programa abaixo, escrito na linguagem Java, que contém uma função recursiva.


public static void main(String[] args) {

int X = 5, R;

R = Recursao(X);

System.out.println("R = " + R);

}

private static int Recursao(int X){

if(X == 0) return 1;

return X * Recursao(X-1);

}


Qual a saída gerada, após a execução do programa acima?