Да, я проглядел в вопросе про исключение 10 и 20.

Код AS1/AS2:
function myRand ():Number {
var rand:Number = Math.ceil(Math.random() * 29);
if (rand == 10 || rand == 20) {
myRand ();
}
else {
return rand;
}
}
num = myRand ();
А у вас, Actual, в return все равно попадут 10 и 20.
Добавлено через 5 минут
Вот распределение, которое дает функция:

Код:
номер = 29, количество = 250
номер = 28, количество = 199
номер = 27, количество = 214
номер = 26, количество = 224
номер = 25, количество = 210
номер = 24, количество = 220
номер = 23, количество = 226
номер = 22, количество = 207
номер = 21, количество = 215
номер = 20, количество = 0
номер = 19, количество = 258
номер = 18, количество = 215
номер = 17, количество = 191
номер = 16, количество = 213
номер = 15, количество = 209
номер = 14, количество = 219
номер = 13, количество = 216
номер = 12, количество = 217
номер = 11, количество = 212
номер = 10, количество = 0
номер = 9, количество = 192
номер = 8, количество = 207
номер = 7, количество = 187
номер = 6, количество = 236
номер = 5, количество = 199
номер = 4, количество = 217
номер = 3, количество = 209
номер = 2, количество = 224
номер = 1, количество = 199
номер = 0, количество = 0