/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Factorial para numeros GRANDES

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
matiaslda



Registrado: 12 Sep 2014
Mensajes: 1

MensajePublicado: 13/09/2014 12:18 am
Título: Factorial para numeros GRANDES

Me piden un programa en C para calcular Factoriales con un n grande. Para ser mas preciso con un n > 50.
Esta mas que claro que un int o un long y demaces tipos de datos no me van a servir para almacenar dicha cantidad de numeros.
Talvez podriamos poner cada digito del numero en un arreglo muy largo, pero operar con ellos lo veo dificil.

De ante mano, Gracias. Very Happy Very Happy
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 1000
Ubicación: Blumenau (Br)

MensajePublicado: 23/09/2014 11:02 am
Título:

Hola matiaslda

Si tu compilador admite el estándar C99, prueba con el tipo de dato long long int. Fuera del estándar, tienes bibliotecas especializadas para el manejo de números muy grandes como GMP y MPFR, pero supongo que esta solución va más allá de lo que te piden.

Un saludo
_________________
With enough eyes, all bugs are easy to find.

Eric S. Raymond
Volver arriba
euriloco



Registrado: 09 Sep 2014
Mensajes: 7

MensajePublicado: 28/09/2014 10:25 am
Título:

Yo tengo la misma duda.
Tengo que hacer un programa con el bucle while que calcule el factorial de un número.
Este es el que hice:

Código:


#include<stdio.h>

int main() {
  float numero=0.0;
  float factorial=1.0;
  printf("Introduce el número del que quieres conocer su factorial: ");
  scanf("%f",&numero);
  while(numero>1){
    factorial=factorial*numero;
    numero--;
  }
  printf("El factorial es: %5.0f\n\n", factorial);
}


Y funciona perfectamente hasta el factorial de 13. A partir del factorial de 14 da unos resultados erróneos.
¿Podéis explicarme por qué a partir de 14 el programa falla?
Embarassed

Gracias
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com