Playing with numbers: Missing numbers

Submitted by Mercutio on Thu, 2011-05-19 22:48

Let's say you have the following list of numbers:

1 2 4 7

And you want it to output the 'missing numbers' in between. Like so:

3 5 6

The first thing to look at would probably be setdiff(), a useful function that compares two lists, and
returns the values that were in one list, but not in the other.

Raevnos@M*U*S*H offers the following solution:

letq(D, firstof(%1, %b), setdiff(lnum(lmath(min, %0, %qD), lmath(max, %0, %qD), %qD), %0, %qD, n))

How would you do this?