Subscribe to our RSS Feeds

Factorial de un numero en C++

0 Comments »
Antes que nada voy a definir que es el factorial de un numero:
el factorial de un numero se define como n! = n(n-1)!...
por ejemplo 5!=5*4*3*2*1 = 120
por definición el factorial de 0 es uno (0!=1) y el factorial de números negativos no esta definido, a continuación les voy a mostrar como crear una función en C++ que devuelve el factorial de un número, usando ciclos y también usando recursividad...


+------------------------------------+
| Factorial usando ciclos (loops) |
+------------------------------------+
int fctrl(int number) //creamos la función que recibirá un número entero.
{
int factorial=1; //inicialiamos la variable factorial.
if (number<0) // el factorial de numeros negativos no esta definido
{
return(0);
}
else if (number==0)
{
return(1);//el factorial de cero es uno.
}
else
{
for (int i=1;i<=number;i++)
{
factorial=factorial*i; //calculamos el factorial.
}
return(factorial); //devolvemos el factorial
}
}



+------------------------------------+
| Factorial por recursividad |
+------------------------------------+
int fctrl(int number) //creamos la función
{
int factorial=1; //inicializamos variables.
if (number<0) //factorial de numeros negativos no estan definidos.
{
factorial=0;
}
else if (number==0)
{
factorial=1; //el factorial de cero es uno.
}
else if (number>0)
{
factorial=number*fctrl(number-1); //usamos recursividad.
}
return(factorial);//devolvemos el factorial.
}


ejemplo:

#include<stdio.h>
#include<conio.h>

int fctrl(int number)
{
int factorial=1;
if (number<0)
{
factorial=0;
}
else if (number==0)
{
factorial=1;
}
else if (number>0)
{
factorial=number*fctrl(number-1);
}
return(factorial);
}

void main()
{
int num;
clrscr();
printf("Please enter some number:\n");
scanf("%d",&num);
int factorial=fctrl(num);
if (factorial==0)
{
printf("Sorry, the factorial of negative numbers is not defined");
}
else
printf("the number's factorial is:%d",factorial);
getche();
}

0 Responses to "Factorial de un numero en C++"

Publicar un comentario