using System;
namespace Practica7Tema3
{
public class Practica7Tema3
{
/**
* Método iterativo (con for) para calcular factorial.
* Recorre desde n-1 hasta 1 multiplicando y acumulando.
*/
public static int factorialIterativo(int n)
{
int facto = n; // Inicializar número
for (int i = n - 1; i >= 1; i--) // Ciclo decremento
{
facto = facto * i; // Multiplicación acumulada
}
return facto; // Devuelve resultado
}
/**
* Método recursivo para calcular factorial.
* Caso base: factorial(0) = 1
* Caso recursivo: n! = n * factorial(n-1)
*/
public static long factorialRecursivo(int numero)
{
if (numero < 0) // Validar no negativos
{
Console.WriteLine("No existen factoriales de numeros negativos (n<0). ");
return -1; // Control error
}
if (numero == 0) return 1; // Caso base
// Caso recursivo: método n-1
return numero * factorialRecursivo(numero - 1);
}
public static void Main(string[] args)
{
Console.WriteLine(">>> Vamos a calcular <<<");
Console.Write("Ingresame un numero y te calculo su factorial? ");
int numero = int.Parse(Console.ReadLine());
// Factorial recursivo
long facRecursivo = factorialRecursivo(numero);
// Factorial iterativo
int facIterativo = factorialIterativo(numero);
// Mostrar resultados
Console.WriteLine("\nFactorial recursivo de " + numero + " es ---> :" + facRecursivo);
Console.WriteLine("Factorial iterativo de " + numero + " es ---> :" + facIterativo);
}
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: