He estado probando hasta donde se podia hallar el factorial del programa y descubri que se rompe del factorial de 13 en adelante. ¿Alguie...

Pregunta de la clase:
Recursividad
Mauricio Carrasco

Mauricio Carrasco

Pregunta
studenthace 5 años

He estado probando hasta donde se podia hallar el factorial del programa y descubri que se rompe del factorial de 13 en adelante. ¿Alguien sabe porque pasa esto?

Este es mi codigo

#include <stdio.h> #include <stdlib.h> int resultado_factorial; int factorial(int n) { printf("\nEntra a la funcion factorial, n vale: %i \n", n); if(n > 1) { printf("La funcion se llamara a si misma otra vez\n"); return n * factorial(n -1); } else { printf("Cuando n vale 1 se acaba la recursividad\n"); return 1; } } int main() { printf("Recursividad \n\n"); printf("Calculador de factorial\n\n"); int num; printf("Ingrese el factorial que quiere hallar: "); scanf(" %i", &num); printf("\n\nEXPLICACION DE LA RECURSIVIDAD:\n"); int resultado = factorial(num); printf("\n\nRESULTADO:\n"); printf("\nEl factorial de %i es: %i", num, resultado); printf("\n\n"); printf("FINALIZO EL PROGRAMA"); return 0; }

El resultado de mi codigo con factorial de 13

oio.jpg

El resultado realOpera Captura de pantalla_2020-11-24_191843_www.google.com.png

3 respuestas
para escribir tu comentario
    Ermes David Galvis Rodriguez

    Ermes David Galvis Rodriguez

    studenthace 5 años

    si trabajas con tipo de dato double, la función obtendría un rango mas amplio debido a que, double almacena los números en notación científica.

    Jorge Cruz Perez

    Jorge Cruz Perez

    studenthace 5 años

    Si habria que usar un long, saludos :)

    Patrick Jhonatan Hernandez Blanco

    Patrick Jhonatan Hernandez Blanco

    studenthace 5 años

    Por el tipo de dato: -32,768 a 32,767 o -2,147,483,648 a 2,147,483,647

Curso de Programación Estructurada

Curso de Programación Estructurada

La programación estructurada es el paradigma que nos ha permitido programar robots, cohetes espaciales y sistemas operativos. Aprende este paradigma y desarrolla programas eficientes recurriendo únicamente a sus 3 estructuras básicas: Secuencia, Decisiones e Iteraciones aplicándolas con el lenguaje C.

Curso de Programación Estructurada
Curso de Programación Estructurada

Curso de Programación Estructurada

La programación estructurada es el paradigma que nos ha permitido programar robots, cohetes espaciales y sistemas operativos. Aprende este paradigma y desarrolla programas eficientes recurriendo únicamente a sus 3 estructuras básicas: Secuencia, Decisiones e Iteraciones aplicándolas con el lenguaje C.