# Background:

You're working in a number zoo, and it seems that one of the numbers has gone missing!

Zoo workers have no idea what number is missing, and are too incompetent to figure it out, so they're hiring you to do it for them.

In case the zoo loses another number, they want your program to work regardless of how many numbers there are in total.

___

## Task:

Write a function that takes a shuffled list of unique numbers from `1` to `n` with one element missing (which can be any number including `n`). Return this missing number.

**Note**: huge lists will be tested.

## Examples:

```
[1, 3, 4]  =>  2
[1, 2, 3]  =>  4
[4, 2, 3]  =>  1
```

Source: codewars | Difficulty: EASY
Tags: Mathematics

Starter code: def find_missing_number(numbers):
	

Solutions:
def find_missing_number(a):
	n = len(a) + 1
	return n * (n + 1) // 2 - sum(a)


def find_missing_number(numbers):
	if numbers == []:
		return 1
	diff = list(set(range(1, len(numbers) + 1)) - set(numbers))
	if diff == []:
		return max(numbers) + 1
	return diff[0]


def find_missing_number(nums):
	return sum(range(1, len(nums) + 2)) - sum(nums)


def find_missing_number(numbers):
	return sum(list(range(1, len(numbers) + 2))) - sum(numbers)


def find_missing_number(n):
	return sum(list(range(1, len(n) + 2))) - sum(n)


def find_missing_number(numbers):
	x = len(numbers)
	total = sum(numbers)
	rest = (x + 1) * (x + 2)
	rest = rest / 2
	missing = rest - total
	return missing


def find_missing_number(numbers):
	a = [False for i in range(len(numbers) + 1)]
	for i in numbers:
		a[i - 1] = True
	return a.index(False) + 1


def find_missing_number(numbers):
	s = set(numbers)
	m = max(s, default=0)
	try:
		return (set(range(1, m)) - s).pop()
	except KeyError:
		return m + 1


def find_missing_number(numbers):
	t1 = sum(numbers)
	t2 = sum(range(1, len(numbers) + 2))
	return t2 - t1


def find_missing_number(numbers):
	n = len(numbers) + 1
	expected = n * (n + 1) / 2
	return expected - sum(numbers)