PS: а смысл какой размер строки передавать в mutators(), а не саму строку, чтобы там же посчитать её длину и "прозрачно" вернуть в массив вместе с return [fw, bw, s];?
Ну или как-то, чтобы не путанно было...
Алексей Черемисин, Всё зависит по-большей части от реализации проекта.
Поддержку, миграцию и бэкапы проекта всегда проще делать монолитно, чем следить сразу за "зоопарком" из нескольких серверов и платформ. Но иногда, невозможно без этого обойтись (как в вашем случае).
mayton2019, он не мог построить модель и попытаться найти зависимости, т.к. у него не было выч. мощности. Есть или нет формульное решение у 8-ми ферзей - я точно не знаю.
Но эту задачку с циклами - я кодил лично очень давно и не задавался тогда этим вопросом.
То, что не существует возможности получения формулы при присутствии итеративной 100% логики - я, лично, сильно сомневаюсь.
longclaps, UPD2 в тексте вопроса - линк там.
И, дополнительно, на выходе, перегрупироввывать (скоммутировать) элементы разными фиксированными способами через остаток от деления в зависимости от входного параметра.
По-шагам:
1. 1-2 (сразу два "бегунка")
2. 3-4 ("бегунок" только на 3-ке, 4-ка: не определена)
3. 5 (и "бегунок" на выходе)
4. 3-4 ("бегунок" только на 4-ке, 3-ка хранит состояние)
5. 5 (и "бегунок" на выходе)
.....
Уточните: что именно и где хотите сгенерить.