Member 13569650 Ответов: 1

Как сгенерировать расположение цифр с этими условиями


Всем привет

Мне нужно сгенерировать серию цифр со следующими условиями.

допустим, я начинаю вот так:

1 1 1 1 1 1 ==> ОК
1 1 1 1 1 2 ==> ОК
1 1 1 1 1 3 ==> не в порядке, потому что если я заменю 3 на 2, то получу существующий ряд (1 1 1 1 1 2)
1 1 1 1 2 1 ==> ОК
1 1 1 1 2 2 ==> ОК
1 1 1 1 2 3 ОК ==>
1 1 1 1 2 4 ==> не в порядке, потому что если я заменю 4 на 3, то получу существующий ряд (1 1 1 1 2 3)
.....
1 1 2 3 1 1 ОК ==>
1 1 3 2 1 1 ==> не в порядке, потому что если я заменю 2 на 3 и 3 на 2, то получу существующий ряд (1 1 2 3 1 1)
2 2 3 4 2 2 ==не нормально, потому что если я заменю 2 на 1, то получу существующий ряд (1 1 3 4 1 1 ведьма похожа на 1 1 2 3 1 1)

вот вам пример

1111
1112
1121
1122
1211
1212
1221
1222
1223
1231
1232
1233
1312

1

Что я уже пробовал:

Я понятия не имею, как это сделать.
это трудная проблема

спасибо

Patrice T

Дайте точные правила для серии.

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
это трудная проблема

Не совсем, если подумать.

Начните делать это вручную, на листе бумаги и запишите, что вы делаете на каждом шаге.
Затем сделайте это снова, следуя только тем заметкам, которые вы сделали в прошлый раз. Если они не работают, измените их и попробуйте снова.
Когда у вас есть заметки, правильно генерирующие вашу последовательность успешно, вы можете начать переводить ее в код, и это должно быть довольно тривиально.

Но я бы начал с перечитывания вашего задания, чтобы точно проверить, каковы правила для "Эта последовательность не разрешена", потому что ваши текущие слишком расплывчаты:
1 1 1 1 1 1 ==> ok
1 1 1 1 1 2 ==> ok
1 1 1 1 1 3 ==> not ok because if I replace 3 by 2 I get an existed series (1 1 1 1 1 2)
Почему допускается 1 1 1 1 1 2, Когда если я заменю 2 на 1, то получу существующую серию?


Member 13569650

замена производится цифрой, которая не является 1 или 2 (не является цифрой в серии)
вы используете существующие цифры серии, если только вы обмениваетесь цифрами.

Я пытался делать то, что ты говоришь.
но моя трудность заключается в том, что когда серия большая, я не могу хранить все
серии и позже сверьте их с текущей серией, потому что
это очень большое количество серий для манипулирования

спасибо

OriginalGriff

Итак, теперь вы разобрались со своими правилами - возможно, - достаньте бумагу и карандаш!

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Member 13569650

чтобы улучшить вопрос я говорю:

1111
1112
1113 плохо, потому что если я заменю 3 цифрой 2 ( 2 не входит в эту серию)
1121
1122
1123
1211
1212
1213
1221
1222
1223
1231
1232
1233
1311 плохо замените 3 на 2 Получите существующую серию

кроме того, если я обменяюсь цифрами
подобный этому.

с этого 1221 года. к этому. 2112
это также может дать существующую серию.(обратите внимание, что 1122 и 2211-это неплохо)


Серия имеет 2 параметра
1 участвуйте в цифрах.
2 Продолжительность серии.

Я надеюсь, что это более ясно.

спасибо

Я тоже получаю