|
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 3
|
|||||||||||
Цикл де Брёйна, трабл с вызовом рекурсии07.03.2016, 03:08. Показов 859. Ответов 8
Метки нет (Все метки)
Перевожу с питона на шарп цикл Де Брейна, на английской версии лежит скрипт, который приведен ниже (слегка его подчистил до неоходимого функционала).
Кликните здесь для просмотра всего текста
Собственно в самом цикле неоднократно происходят вызовы db(x,y), а в шарпе код как будто игнорирует эту инструкцию и спокойно выполняет код дальше. При одинаковых параметрах k n = 2 2, питон выдает необходимые 0011, шарп выдает 0100, поскольку выполняет db единожды, ходя должен минимум трижды. Кликните здесь для просмотра всего текста
Что я делаю не так? Возможно кривой перевод программы, но питон не знаю и не разбирался до сегодняшнего дня, пытался даже вызвать из db другой метод - игнорирует.
0
|
|||||||||||
| 07.03.2016, 03:08 | |
|
Ответы с готовыми решениями:
8
Как по графу де Брейна построить последовательность де Брейна?
из рекурсии - цикл |
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
|
||||||
| 08.03.2016, 10:48 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 3
|
|
| 08.03.2016, 18:29 [ТС] | |
|
И что это за код? Я даже не понял, что он выдает. Код на питоне позволяет получить последовательность для любых алфавитов, в том, что я скинул, указаны параметры для (2, 2), а в работе мне будет нужен алфавит (2, 12), это 4096 символов на выходе.
Вот (2, 5) на питоне 00000100011001010011101011011111. Собственно мне необходимо завести нормально мой алгоритм, потому что он гибкий, а не найти решение для четырех циферок.
0
|
|
|
Master of Orion
|
||||||
| 10.03.2016, 11:05 | ||||||
|
X-Zibit, Ошибок тут по крайней мере несколько.
Во-первых очевидно первый цикл неправильный. Я переписал на LINQ, чтобы избежать ошибок. Я не знаю многих питоновских конструкций: массивы начинаются с 0? Если верить гуглу, то да, но что значит +1? Взять p+1 элемент? Брать все элементы начиная с текущего и до p+1? Включая/исключая последний? И так далее, так что исправлять придется вам, как знающему.Во втором цикле наверняка тоже напутали. Вот пример кода, тут по идее поправить немного осталось. Либо предоставляйте псевдокод (можно просто прокомментировать, что делается в питоновском варианте, думаю дальше можно будет понять.
0
|
||||||
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
|
||||||
| 11.03.2016, 19:57 | ||||||
|
Решение с использованием Google or-tools
http://www.hakank.org/google_or_tools/
0
|
||||||
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
|
|
| 12.03.2016, 11:07 | |
|
Psilon, полный эквивалент наверное можно получить используя IronPython
http://www.codeproject.com/Art... p-So-Sweet http://www.codeproject.com/Art... IronPython
0
|
|
|
Master of Orion
|
|
| 12.03.2016, 13:05 | |
|
afront, полный эквивалент можно получить, просто переписав нормально. Я не понимаю всех конструкций питоновых, поэтому флоу программы идет по другому пути и результат неверный.
Но т.к. ТС пропал куда-то, тему можно закрывать.
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 3
|
|
| 13.03.2016, 18:26 [ТС] | |
|
Psilon,
Не пропал, проблему помогли решить на другом более известном ресурсе, решение близкое к вашему, но более изящное. Еще в моем адаптированном коде было несколько ошибок, оттого и не работал, первая это t>n, вторая в цикле. Исправив их все заводится. Тему можно закрывать.
0
|
|
| 13.03.2016, 18:26 | |
|
Помогаю со студенческими работами здесь
9
Delphi. Преобразование рекурсии в итерационный цикл Возможно ли вместо рекурсии использовать цикл?
Как записать цикл коротко, с помощью рекурсии Принадлежит ли заданный элемент массиву - использовать цикл вместо рекурсии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|