Пример со встряхиванием массива:

Код AS3:
var arr:Array = [];
for (var j:int = 1; j <= 100; j ++)
{
arr.push(j);
}
var array:Array = arrayShuffle(arr);
trace(array);
array.splice(array.indexOf(40),1);
trace(findMissingIntegers(array, 1));
trace(find(array));
function find(list:Array):int
{
var summ:int;
var len:int = list.length + 1;
for (var i:int = 0; i < list.length; i++)
{
summ += list[i];
}
return (((1+len)/2) * len) - summ;
}
function findMissingIntegers(arr:Array, missingNum:int = 0):Array
{
var missingArr:Array = [];
for (var i:int = 1; i <= arr.length + missingNum; i++)
if (arr.indexOf(i) < 0) missingArr.push(i);
return missingArr;
}
function arrayShuffle(arr:Array):Array
{
var newArr:Array = [];
while (arr.length > 0)
{
newArr.push(arr.splice(Math.round(Math.random() * (arr.length - 1)), 1)[0]);
}
return newArr;
}