Así, el factorial de n se representa de la siguiente manera: n!: 1x2x3x4.....xn.
Si, por ejemplo, queremos calcular 5!, en pantalla se deberá arrojar como resultado lo siguiente:
5!: 1x2x3x4x5 = 120
El siguiente código escrito en C# es una aplicación de consola que nos pide un valor numérico entero y calcula su factorial.
static void Main(string[] args) { string factorial; //cadena donde se guardará la cantidad de factoriales double resultado; //resultado del factorial a calcular int n; //valor del factorial a calcular Console.Write("No. del factorial a calcular : "); string linea = Console.ReadLine(); ValidarEntrada(ref linea); n = int.Parse(linea); CalcularFactorial(n, out factorial, out resultado); factorial = factorial.TrimEnd('X'); Console.WriteLine("\n\n" +n + "!: " + factorial + " = " + "{0:N0}", resultado); Console.ReadKey(); } private static void ValidarEntrada(ref string linea) { while (!Int32.TryParse(linea, out int n)) { Console.WriteLine("\nERROR. El valor ingresado debe ser un valor numérico entero.\n"); Console.Write("No. del factorial a calcular : "); linea = Console.ReadLine(); } } private static void CalcularFactorial(int n, out string factorial, out double resultado) { factorial = string.Empty; resultado = 1; for (int i = 1; i <=n; i++) { factorial += i + "X"; resultado *= i; } }
Como aprendimos en una entrada anterior, toda entrada de datos por teclado debe validarse, por lo que este código no solo calcula el factorial de un número, sino que valida que la información que se ingresa por teclado sea, en efecto, un valor numérico.
El código de la aplicación para .Net lo puedes descargar de aquí.
No hay comentarios:
Publicar un comentario