Código: Seleccionar todo

// Agradecimientos a [Zero]
int NFactorial(int num)
{
    if (num<=1)  // Si el número es igual a 1 o menor, su factorial sera el mismo número.
    {
        return(num);
    }
    else
    {                // De lo contrario operamos.
         int i;
         int temp = 1;
         for (i=1;i<=num;i++)  // Realizamos un bucle de 1 a la longitud del número.
         {
           temp = temp * i;  // Multiplicamos cada parte del bucle por el operando 1 y almacenamos en una variable temporal.
         };
         return(temp);  // Pasamos el valor de la variable temporal al resultado de la función.
    };
}
Bueno muchachos, C++ es más sencillo de lo que parecía, Agradezco a [Zero] por incentivarme y ayudarme!
Este código sirve para obtener el factorial de un número.
En tu ventana
Y en tu ventana, gritas al cielo pero lo dices callada..
Hola amigo! veo que sigues pensando en Delphi al fin y al cabo eh.. mira te doy un par de consejos

a ver la definición de factorial de un numero n se define sólo para números > 0 (estricto).. así que no vale la pena tomar el caso if n<=1 , además que sería erróneo.
y además la definición matemática es recursiva.. y se define así: factorial(n) = factorial (n-1) * n;

pues al lío!

Código: Seleccionar todo

unsigned int factorialSwash(unsigned int n) { //utiliza unsigned int para números naturales >= 0
    if (n > 0) return factorialSwash(n - 1) * n; //llamada recursiva 
    else return 1;
}
Así de sencillo

Un saludo! R-007
Última edición por R-007 el 11 Sep 2010, 23:35, editado 1 vez en total.
si.. te faltaba poner [source] en el título ;)
las normas están para cumplirlas jajajja

salu2!
Responder

Volver a “Fuentes”