Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Este factorial es recursivo, pero operamos de alguna forma la
- * llamada recursiva (la multiplicamos por n).
- */
- long factorial(long n) {
- if (n == 0) {
- return 1;
- }
- else {
- return n * factorial(n-1);
- }
- }
- /* Este factorial no es recursivo, pero la función auxiliar
- * factorial_helper sí. Aquí, la llamada recursiva no se toca, sino
- * que se devuelve entera. *Eso* es recursividad final (tail call).
- */
- long factorial_helper(long n, long ac) {
- if (n == 0 ) {
- return ac;
- }
- else {
- return factorial_helper(n -1, n * ac);
- }
- }
- long factorial(long n) {
- return factorial_helper(n, 1);
- }
Add Comment
Please, Sign In to add comment