C# Exercise: 114 Function Factorial

In this exercise of C#, you will learn how to create a recursive function to calculate the factorial of a number. The factorial of a number is expressed as follows: n! = n · (n-1) · (n-2) · (n-3) · ... · 3 · 2 · 1. For example, the factorial of 6 is calculated as 6·5·4·3·2·1, which results in 720. In this exercise, you will need to create a recursive function that receives a number as a parameter and calculates its factorial. This type of exercise is perfect for learning how recursive functions work in C# and how to perform complex calculations efficiently using recursion. The example shows that if the function Factorial is called with the parameter 6, the program will return 720.

Learn how to implement recursive functions in C# to perform advanced mathematical calculations with this hands-on exercise and enhance your programming skills.



 Lesson

Functions

 Exercise

Function Factorial

 Objetive

The factorial of a number is expressed as follows:

n! = n · (n-1) · (n-2) · (n-3) · ... · 3 · 2 · 1

For example,
6! = 6·5·4·3·2·1

Create a recursive function to calculate the factorial of the number specified as parameter:

Console.Write ( Factorial (6) );

would display 720

 Example Code

// Importing the System namespace to access basic system functions
using System;

class Program
{
    // Main method where the program starts
    public static void Main()
    {
        // Calling the Factorial function with the number 6 and printing the result
        Console.WriteLine(Factorial(6)); // The factorial of 6 is 720, which will be printed
    }

    // Recursive function to calculate the factorial of a number
    public static int Factorial(int n)
    {
        // Base case: if n is 1 or less, return 1 (because 1! = 1 or 0! = 1)
        if (n <= 1)
        {
            return 1; // Factorial of 1 or less is 1
        }
        
        // Recursive case: n * factorial of (n-1)
        return n * Factorial(n - 1); // Multiply n by the factorial of (n-1)
    }
}


More C# Exercises of Functions

 Functions: greeting + farewell
Write a C# program whose Main must be like this: public static void Main() { SayHello(); SayGoodbye(); } SayHello and SayGoodbye are functio...
 Function with parameters
Write a C# program whose Main must be like this: public static void Main() { SayHello("John"); SayGoodbye(); } SayHello and SayGoodbye are f...
 Function returning a value
Write a C# program whose Main must be like this: public static void Main() { int x= 3; int y = 5; Console.WriteLine( Sum(x,y) ); } "Sum" is...
 Function returning a value V2
Write a C# program whose Main must be like this: public static void Main() { __Console.WriteLine("\"Hello, how are you\" contains {0} spaces", __...
 Function write centered
Write a C# function to write centered on screen the text that is indicated as a parameter (supposing a screen width of 80 characters): WriteCentere...
 Function write underlined
Write a C# function able to write centered on screen the text that is indicated as a parameter (supposing a screen width of 80 characters) and then un...
 Function sum of array
Write a C# program to calculate the sum of the elements in an array. "Main" should be like this: public static void Main() { int[] example = {20, ...
 Function double
Write a C# function named "Double" to calculate and return an integer number doubled. For example. Double(7) should return 14....
 Function Double reference parameter
Write a C# function named "Double" to calculate the double of an integer number, and modify the data passed as an argument. It must be a "void" functi...
 Function swap reference parameters
Write a C# function named "Swap" to swap the values of two integer numbers, which are passed by reference. An example of use might be: int x=5, ...
 Function power local variables
Write a C# function named "Power" to calculate the result of raising an integer number to another (positive integer) number. It must return another in...
 Function recursive power
Write a C# function that calculates the result of raising an integer to another integer (eg 5 raised to 3 = 53 = 5 × 5 × 5 = 125). This function must ...
 Function Fibonacci
Write a C# program that uses recursion to calculate a number in the Fibonacci series (in which the first two items are 1, and for the other elements, ...
 Function modify a letter in a string
Write a C# function named "ChangeChar" to modify a letter in a certain position (0 based) of a string, replacing it with a different letter: string...
 Function IsPrimeTarea
Write a C# function named "IsPrime", which receives an integer number and retuns true if it is prime, or false if it is not: if (isPrime(127)) ......
 Function Parameters of Main, Sum
Write a C# program named "sum", which receives two integer numbers in the command line and displays their sum, as in this example: sum 5 3 8...
 Function SumDigits
Write a C# function SumDigits that receives a number and returns any results in the sum of its digits. For example, if the number is 123, the sum woul...
 Function Parameters of Main, Reverse
Write a C# program named "reverse", which receives several words in the command line and displays them in reverse order, as in this example: revers...
 Function GetInt
Write a C# function named "GetInt", which displays on screen the text received as a parameter, asks the user for an integer number, repeats if the num...
 Function tasks database
Write in C# an improved version of the "tasks database", splitting it into functions....
 Function Greatest value in a array
Write a C# function which returns the greatest value stored in an array of real numbers which is specified as parameter: float[] data={1.5f, 0.7f, ...
 Function factorial (iterative)
Write an C# iterative (non-recursive) function to calculate the factorial of the number specified as parameter: Console.Write ( Factorial (6) ); ...
 Function WriteTitle
Write a C# function named "WriteTitle" to write a text centered on screen, uppercase, with extra spaces and with a line over it and another line under...
 Function return value for Main
Write a C# program in which you write a title (using the previous WriteTitle function) which the user will specify in command line. If no text is spec...
 Function CountDV
Write a C# function that calculates the amount of numeric digits and vowels that a text string contains. It will accept three parameters: the string t...
 Function IsAlphabetic
Write a C# function that tells if a character is alphabetic (A through Z) or not. It should be used like this: if (IsAlphabetic ("a")) System.Cons...
 Function IsNumber
Write a C# function that tells if a string is an intenger number. It should be used like this: if (IsNumber ("1234")) System.Console.WriteLine ("I...
 Function calculator, params of Main
Write a C# program to calculate a sum, subtraction, product or division, analyzing the command line parameters: calc 5 + 379 (Parameters must be...
 Function calculator, params and return value of Main
Write a C# program to calculate a sum, subtraction, product or division, analyzing the command line parameters: calc 5 + 379 (Parameters must be...
 Function MinMaxArray
Write a C# function named MinMaxArray, to return the minimum and maximum values stored in an array, using reference parameters: float[] data={1.5f,...
 Function Reverse, recursive
Write a C# program that uses recursion to reverse a string of characters (for example, from "Hello" it would return "olleH")....
 Function WriteRectangle
Write a C# function WriteRectangle to display a (filled) rectangle on the screen, with the width and height indicated as parameters, using asterisks. ...
 Function Palindrome, iterative
Write an C# iterative function to say whether a string is symmetric (a palindrome). For example, "RADAR" is a palindrome....
 Function Palindrome, recursive
Write a C# recursive function to say whether a string is symmetric (a palindrome). For example, "RADAR" is a palindrome....
 Function GetMinMax
Write a C# function named "GetMinMax", which will ask the user for a minimum value (a number) and a maximum value (another number). It should be calle...
 Function Multiply & MultiplyR
Write two C# functions, Multiply and MultiplyR, to calculate the product of two numbers using sums. T he first version must be iterative, and the seco...