Вот сделал более универсальный вариант, но обработка занимает куда больше времени.
$start = 1 // начальное число
$end = 5 // конечное число
FOR($a=$start,$a<$end+1) // подготавливаем массив чисел
ARRPUSH($arr1, $a)
END_CYC
TFWRITEARR("temp_arr.txt", $arr1)
UNDEFINE($arr1)
$num = $start
FOR($a=$start,$a<$end+1) // тут вычисляем количество вариантов
$num = $num*$a
END_CYC
WHILE(ARRSIZE($arr2)<$num) // основной цикл
TFREADARR("temp_arr.txt", $arr)
$i = ARRSIZE($arr)-1
WHILE($i>0) // рандомизация массива чисел
$j = RND(0,$i)
IF($i ! $j)
$tmp = $arr[$j]
$arr[$j] = $arr[$i]
$arr[$i] = $tmp
END_IF
INC($i,-1)
END_CYC
$str = ""
$siz = ARRSIZE($arr)
FOR($a=0,$a<$siz) // собираем строку из чисел
IF(STRLEN($str) = 0)
$str = $arr[$a]
ELSE
$str = STRCONCAT($str, $arr[$a])
END_IF
END_CYC
UNDEFINE($arr)
$check = 0
$siz = ARRSIZE($arr2)
FOR($a=0,($a<$siz)&($check = 0)) // проверяем есть ли такая строка в конечном массиве
IF($arr2[$a] = $str)
$check = 1
END_IF
END_CYC
IF($check = 0) // если нет записываем
ARRPUSH($arr2, $str)
END_IF
END_CYC
TFCLEAR("temp_arr.txt", 1)
// здесь сортируем конечный массив по порядку (можно и без этого, будет быстрее)
$siz = ARRSIZE($arr2)
$srtcheck = 0
$srt = 0
FOR($a=$siz-1,($a>0)&($srt=0),-1)
FOR($b=0,$b<$a)
IF($arr2[$b] > $arr2[$b+1])
$srtcheck = 1
$tmp = $arr2[$b]
$arr2[$b] = $arr2[$b+1]
$arr2[$b+1] = $tmp
END_IF
END_CYC
IF($srtcheck = 0)
$srt = 1
END_IF
END_CYC
TFWRITEARR("Ряды чисел.txt", $arr2) // выводим конечный массив в файл
HALT