factorial

Jonas
29 de Mayo del 2006
Hola estoy intentando hacer un programa que calcule el factorial de un numero y no me sale.Lo estoy haciendo con un for.No uso punteros,pq no se como van.Tampoco uso cin y cout,uso printf y scanf.
Si alguien me puede ayudar se lo agradeceria, soy nuevo en esto.
Gracias

Ricardo
29 de Mayo del 2006
Jonas, hay una web en la que te explican el factorial "paso a pso", como ellos dicen. Está en http://www.maacera.com
Una vez allí vete al apartado "formacion". Al principio de la página hay un enlace llamadao "funciones - recursividad", pues ahí, aunque creo que había mas por ahí.
De nada.

feuer
29 de Mayo del 2006
/* Objetivo: Factorial de un numero dado
Programador:
Entrega:21 de mayo del 2004
*/
#include <iostream.h>
#include <conio.h>
void main(){
int n,fac=1;
clrscr();
cout <<"n Ingrese el numero ";cin>>n;
if(n<0)
cout <<"n Error";
else
if(n > 0)
fac=1;
for(int i=1;i<=n;i++)
fac=fac*i;
cout <<"n El Factorial de "<<n <<" es " <<fac;
getch();
}

carmamezo
29 de Mayo del 2006
Una función simple para el cálculo del factorial con un for sería la siguiente: (sin duda se puede hacer de manera más eficiente)

double factorial (double a)
{
double res=1,i;
for(i=1;i<=a;i++)
{
res*=i;
}
return res;
}

xnomad
29 de Mayo del 2006
para el factorial, lo preferible es usar recursion!!

long factorial(int numero){
if (numero == 0) || (numero ==1)
return 1;
else
return(numero*factorial(numero-1))
}

es corto y eficiente.