В рубине:
str = "a"
100_000_000.times {puts str.next!}
Это довольно быстро, но это собирается занять время =). Конечно, можно запустить в "aaaaaaaa", если короткие строки не интересны Вам.
я, возможно, неправильно истолковал фактический вопрос, хотя - в одном из сообщений казалось будто Вам просто была нужна библиотека "в лоб" строк, но в основном вопросе это кажется, что необходимо переставить конкретную строку.
Ваша проблема несколько подобна этому: http://beust.com/weblog/archives/000491.html (перечисляют все целые числа, в которых ни одна из цифр не повторяет себя, которые привели к большому количеству языков, решив его с ocaml парнем, использующим перестановки и некоторого парня Java, использующего еще одно решение).
Алгоритмы Photoshop могут быть очень сложными, и, помимо простого размытия и повышения резкости, каждый из них представляет собой отдельную тему.
Для фильтра фрески вы можете начать с вопроса SO о , как рисовать карикатуры и изображения .
Я бы хотел прочитать коллекцию наиболее интересных алгоритмов, но я не знаю такой компиляции.