Calculating The Factorial Of A Number in C#

The factorial of a number is a common mathematical operation often used in combinatorics, probability, and algorithm challenges. In this article, we'll learn how to calculate factorials in C# using different methods and handle various input cases.

The factorial of a non-negative integer 𝑛 n is the product of all positive integers less than or equal t 𝑛. It is denoted by 𝑛!.

Formula
 n!=n×(n−1)×(n−2)×…×2×1  
Examples
 5!=5×4×3×2×1=120  
 3!=3×2×1=6  
 1!=1  
 0!=1  

Calculating The Factorial Of A Number

Calculating the factorial of a number in C# can be done using either an iterative or a recursive approach. Here are examples of both methods:

Iterative Approach

This is the most straightforward and efficient approach for calculating factorials.

 using System;  
 class Program  
 {  
   static void Main()  
   {  
     Console.Write("Enter a number: ");  
     int number = int.Parse(Console.ReadLine());  
     long factorial = Factorial(number);  
     Console.WriteLine($"Factorial of {number} is {factorial}");  
   }  
   static long Factorial(int n)  
   {  
     long result = 1;  
     for (int i = 1; i <= n; i++)  
     {  
       result *= i;  
     }  
     return result;  
   }  
 }  

Recursive Approach

Factorials have a natural recursive structure, so recursion is a good fit for this problem.

 using System;  
 class Program  
 {  
   static void Main()  
   {  
     Console.Write("Enter a number: ");  
     int number = int.Parse(Console.ReadLine());  
     long factorial = Factorial(number);  
     Console.WriteLine($"Factorial of {number} is {factorial}");  // Result of factoriale
   }  
   static long Factorial(int n)  
   {  
     if (n == 0 || n == 1)  
       return 1;  
     return n * Factorial(n - 1);  
   }  
 }  

You can run either of these programs in a C# environment. Just input a non-negative integer, and it will calculate the factorial. Keep in mind that for larger values of n, the result can exceed the range of long, so consider using BigInteger for very large factorials:

 using System;  
 using System.Numerics;  
 class Program  
 {  
   static void Main()  
   {  
     Console.Write("Enter a number: ");  
     int number = int.Parse(Console.ReadLine());  
     BigInteger factorial = Factorial(number);  
     Console.WriteLine($"Factorial of {number} is {factorial}");  
   }  
   static BigInteger Factorial(int n)  
   {  
     if (n == 0 || n == 1)  
       return 1;  
     return n * Factorial(n - 1);  
   }  
 }  

Explanation

  • Iterative Approach: Uses a loop to multiply numbers from 1 to n.
  • Recursive Approach: Calls itself with decremented values until it reaches the base case.

Usage of Factorial Number

The factorial of a number, written as n!, has many important applications across mathematics, computer science, statistics, and real-world problem-solving. Here's an overview of the key uses of factorials:

  • Combinatorics (Counting And Arrangements)
  • Probability and Statistics
  • Mathematics and Algebra
  • Algorithm Design and Analysis
  • Mathematical Functions and Sequences

Thanks

Kailash Chandra Behera

An IT professional with over 13 years of experience in the full software development life cycle for Windows, services, and web-based applications using Microsoft .NET technologies. Demonstrated expertise in delivering all phases of project development—from initiation to closure—while aligning with business objectives to drive process improvements, competitive advantage, and measurable bottom-line gains. Proven ability to work independently and manage multiple projects successfully. Committed to the efficient and effective development of projects in fast-paced, deadline-driven environments. Skills: Proficient in designing and developing applications using various Microsoft technologies. Total IT Experience: 13+ years

Previous Post Next Post

نموذج الاتصال