In this tutorial, you will learn writing a program using Python to find the missing number in integer array of 1 to 100.

This Program is not generic, It has some limitations like

- It can find only one missing number in an array.
- Here we are just adding numbers from 0 to n, where
*n*is number of elements array can have. - User can give input only between 0 to n.
- To find missing number, subtract sum of numbers given by user from total sum of numbers from 0 to n.

**Also Read This:** Java Program to find missing number in array.

## Python Program to find missing number in Array

## Program 1: Using the Formula for the Sum

The sum of the first 𝑛*n* natural numbers is given by the formula 𝑛×(𝑛+1)/2. If one number is missing, the sum of the array will be less than this total by exactly the missing number.

```
# Initialize the array
arr = [1, 2, 3, 5]
# Calculate the total number of elements expected (including the missing one)
n = len(arr) + 1
# Calculate the sum of the first n natural numbers
total_sum = (n * (n + 1)) // 2 # Use integer division for safety
# Calculate the sum of the elements in the array
sumArr = sum(arr)
# Calculate the missing number
missing_number = total_sum - sumArr
# Print the missing number
print("Missing number =", missing_number)
```

**Output**

Missing number = 4

**Explanation**

This method calculates the expected sum of the first 𝑛*n* natural numbers and subtracts the sum of the array from this expected sum. The result is the missing number.

### Program 2: Using Sorting

By sorting the array, you can simply iterate through and identify where the numbers skip.

```
def get_missing_number(arr):
arr.sort()
for i in range(len(arr)):
if arr[i] != i + 1:
return i + 1
return len(arr) + 1
array = [1, 2, 3, 4]
print("Missing number =", get_missing_number(array))
```

**Output**

Missing number = 5

**Explanation**

After sorting the array, the program checks each element. If any element doesn’t match its index + 1 (since array indices start at 0), it means that the current index + 1 is the missing number. If the loop completes, the missing number is *n*+1.

### Program 3: Using Set for Direct Lookup

This method involves creating a set from the array, then checking which number from 1 to *n* is not in the set.

```
array = [1, 2, 3, 4]
num_set = set(array)
n = len(array) + 1
missing_number = None
for number in range(1, n + 1):
if number not in num_set:
missing_number = number
break
if missing_number is not None:
print("Missing number =", missing_number)
else:
print("No missing number, the sequence is complete.")
```

**Output**

Missing number = 5

**Explanation**:

This method checks each number from 1 to *n* against a set of numbers in the array. The first number not found in the set is the missing number.