# 1. Introduction

The factorial of a non-negative integer ( n ), denoted as ( n! \), is the product of all positive integers less than or equal to ( n ). It's a fundamental concept in mathematics and computer science with applications ranging from basic combinatorics to algorithm complexities. In this tutorial, we'll be creating a Swift program to compute and display the factorial of a given number.

# 2. Program Overview

Our Swift program's aim is to compute the factorial of a given number.

The factorial of 0 is 1, and the factorial of any positive integer ( n ) is ( n times (n-1)! ).

With this recursive definition in mind, we can either use a recursive or iterative method to find the factorial. Here, we'll use the iterative method.

# 3. Code Program

``````// Declare the number for which the factorial is to be computed
let number = 5
var factorial = 1

// Check if the number is negative, zero or positive
if number < 0 {
print("Factorial does not exist for negative numbers.")
} else if number == 0 {
print("The factorial of 0 is 1.")
} else {
for i in 1...number {
factorial *= i
}
print("The factorial of \(number) is \(factorial).")
}
``````

### Output:

```The factorial of 5 is 120.
```

# 4. Step By Step Explanation

1. let number = 5: We start by declaring a constant number and assigning it the value 5.

2. var factorial = 1: We initialize a variable factorial to 1. This variable will store the computed factorial value.

3. if number < 0 { ... } else if number == 0 { ... } else { ... }: Here, we're handling three scenarios: when the number is negative, when it's zero, and when it's positive.

- For negative numbers, factorials are undefined, so we display a relevant message.

- The factorial of 0 is 1, so we directly display that.

- For positive numbers, we use a loop to iteratively compute the factorial.

4. for i in 1...number { ... }: This loop runs from 1 to the specified number. In each iteration, the current value of i is multiplied by the factorial variable, effectively computing the factorial.

5. print("The factorial of \(number) is \(factorial)."): Once the factorial is calculated, it's displayed using Swift's string interpolation.