|
|
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
сложно описать задачу, напишу примеры дано число N=2 на выходе 12, 21. дано число N=3 на выходе 123, 132, 213, 231, 312, 321. дано число N=4 на выходе 1234, 1243, 1342, 1324, 1423, 1432, 2134, 2143, 2314, 2341, 2413, 2431, 3124, 3142, 3214, 3241, 3412, 3421, 4123, 4132, 4213, 4231, 4312, 4321. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 15:40:33 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 15:49:37 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
А вообще алгоритмов известных (баянистых) и разных несколько. И не все типа построения порфириана. Вот, например, метод вставками - как поэзия на Haskell Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 16:26:00 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Пилотажный, Mozok, да это всё примеры на конкретных языках, мне алгоритм нужен, я ж не буду изучать хаскель что бы понять как он это делат, так же мне не очень охота лезть в исходники algorithm, что бы реализовать это у себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 16:32:33 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
pavlickm, метод со вставками с конца 1 - список пуст 2 - список 1 - вставки 21, 12 3 - два списка 21, 12 - вставки в первый 321, 231, 213, во второй 312, 132, 123 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 16:49:04 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Можно рассуждать так: 1. Выбираем на 1-е место любой элемент из N возможных по порядку от 1 до N. 2. На 2-е место выбираем любой элемент из (N-1) возможных (кроме того, что уже выбран на 1-е место). 3. На 3-е место выбираем любой элемент из (N-2) возможных (кроме двух тех, что уже выбраны на 1-е и 2-е место). .... N-1. На (N-1)-е место выбираем один из 2-х оставшихся не выбранными элемента. N. На N-е место выбора нет - туда попадает последний оставшийся невыбранным элемент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 22:37:04 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
pavlickm , чтобы делать замечания, надо хотя бы немного почитать теорию по матиматике и программированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 23:29:31 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Вот примерная реализация изложенного мною нерекурсивного алгоритма для EXCEL. Здеcь LEV - индекс элемента в перестановке Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 09:29:07 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Немного исправил (end if не там поставил, хотя на работе не отражается). Комменты второй раз не перепечатываю, уж извините: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 09:36:42 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
AIS pavlickm , чтобы делать замечания, надо хотя бы немного почитать теорию по матиматике и программированию. мат е матике что бы делать замечания на мои замечания, нужно хотя бы немного почитать теорию по орфографии русского языка. шучу =) неохота мне читать, охота алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 10:29:10 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
По сабжу: а для n=2 такие, как 11 и 22 не годятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 12:42:40 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
ShSergeПо сабжу: а для n=2 такие, как 11 и 22 не годятся? не годятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 15:21:07 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
javascript: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 22:32:31 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Памас, А чё Вы написали? Вы что, не читали, что ТС просит? Кстати, код-то ведь таки у Вас скопипащенный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 23:04:56 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Ну да, теперь по этой программе попробуй-ка словесное опесание алгоритма дать - посложнее самой программы будет в несколько раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 00:06:26 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Что-то оно не работает. Скопировал в текстовый файл, переименовал в .html, и вот результаты (или я что-то не так делаю?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 00:13:06 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
ShSergeПамас, А чё Вы написали? Вы что, не читали, что ТС просит? Кстати, код-то ведь таки у Вас скопипащенный. 1. да, похоже, я не понял условий Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2. скопипащенный. - не правда , (возился сам, кстати, в это время по тв показывали китайских победителей соревнования программистов, и думалось мне не до них) естественно такой подход наверняка известен и написан, а приступить к написаню подвигли суждения Vowk Можно рассуждать так: 1. Выбираем на 1-е место любой элемент из N возможных по порядку от 1 до N. 2. На 2-е место выбираем любой элемент из (N-1) возможных (кроме того, что уже выбран на 1-е место). 3. На 3-е место выбираем любой элемент из (N-2) возможных (кроме двух тех, что уже выбраны на 1-е и 2-е место). .... N-1. На (N-1)-е место выбираем один из 2-х оставшихся не выбранными элемента. N. На N-е место выбора нет - туда попадает последний оставшийся невыбранным элемент - опять же см. п.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 10:34:28 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
VowkЧто-то оно не работает. Скопировал в текстовый файл, переименовал в .html, и вот результаты (или я что-то не так делаю?) ввод: для N=2 12 для N=3 ABC ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 10:37:58 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Неправильно работает программа на Javascript (обратите внимание на две последние строки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 11:46:45 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Не, таки правильно. Показалось, что одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 11:49:10 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Памас... подумал что это перестановки... А что это тогда? И ваш код, по-моему, делает упорядочные перестановки. VowkМожно рассуждать так: 1. Выбираем на 1-е место любой элемент из N возможных по порядку от 1 до N. 2. На 2-е место выбираем любой элемент из (N-1) возможных (кроме того, что уже выбран на 1-е место). 3. На 3-е место выбираем любой элемент из (N-2) возможных (кроме двух тех, что уже выбраны на 1-е и 2-е место). .... N-1. На (N-1)-е место выбираем один из 2-х оставшихся не выбранными элемента. N. На N-е место выбора нет - туда попадает последний оставшийся невыбранным элемент У Вас, как я понимаю, неупорядочные перестановки. У меня как раз в этом направлении была задача. Я сначала сделал упорядочный массив перестановок, а потом случайным образом их в массиве попереставлял. А как сделать то, что предлагаете Вы, но чтобы в циклах машина не зависла на долго и иметь весь массив вариантов? (т.е. сразу создать массив неупорядочных перестановок, а не через промежуточное действие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 14:59:34 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
AISПамас... подумал что это перестановки... А что это тогда? И ваш код, по-моему, делает упорядочные перестановки. -- не могу сказать, что такое (НЕ)упорядочные перестановки. -- скорость круто падает, есно, при больших N по сути предлагается найти все числа содержащие в своем представлении заданный набор цифр(и только) . тогда решение проще: пробежаться от 10^(N-1) до 10^N-1 и отобрать удовлетворяющие. в качестве основания(10) надо рассматривать любое число, иначе при N>9 нет решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 18:00:15 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
ПамасAISПамас... подумал что это перестановки... А что это тогда? И ваш код, по-моему, делает упорядочные перестановки. -- не могу сказать, что такое (НЕ)упорядочные перестановки. -- скорость круто падает, есно, при больших N по сути предлагается найти все числа содержащие в своем представлении заданный набор цифр(и только) . тогда решение проще: пробежаться от 10^(N-1) до 10^N-1 и отобрать удовлетворяющие. в качестве основания(10) надо рассматривать любое число, иначе при N>9 нет решения хм, соблазн только так если 10 элементов, то уже по два разряда для кодирования десятичным числом (2^63 есть 10^20), также соотв. двоичным и пр. основаниями - и да эдак легко пройти диапазон и отобрать подходящие, но для более 10 элементов для этого приема уже нужны спецбиблиотеки (специально оптимизированные) для работы с очень большими числами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 20:04:09 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
extended - 10^4932 но медленно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 20:11:55 |
|
||
|
алгоритм перебора всех возможных значений
|
|||
|---|---|---|---|
|
#18+
Пилотажныйextended - 10^4932 но медленно В смысле, что при преобразовании в символьный вид - в стандартных библиотеках не более 20 значимых разрядов, и нужны спецбиблиотеки, которые не быстры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 20:20:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36490582&tid=1343856]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
476ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 826ms |

| 0 / 0 |
