# 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
```

Difficulty: introductory

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)