![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Предположим есть некоторое число в String, например 8907. Необходимо получить все возможные комбинации цифр числа, находящиеся по-порядку. Поясню, для числа 123 это будет:
Код:
Есть более простое решение?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Тебе нужны именно сами варианты или их количество?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#3 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]() Цитата:
Значицца так - что уже сделал. С помощью Goodwin`а создал маленькую функу на асме по проверке разряда бита. На скорость проверки сейчас не смотрю - по миллиону лет на 32 разряда. Основная проблема сейчас в другом - больше 32 символов на входе банально не поддерживается (хотя я представляю, сколько времени будут считаться 2 млрд вариантов в 32-х символах). В общем проблемы сейчас 3 - 1) Скорость вычислений. Код:
![]() 2) Проблема Билла Гейтса ("640 килобайт хватит всем") - больше 32-х разрядо не поддерживаются. Либо делать как то поддержку 64-х разрядов, либо менять всю логику. 3) Фиг его знает, почему, но Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Не знаю, зачем вам это безумие, но вот консольная программка, которая генерит все комбинации. Количество бит сейчас максимум 128, но можно расширить при желании до скольки угодно.
Основное время тратится на запись в файл, если убрать FileWrite() из yield(), генерит примерно миллион комбинаций в секунду. Да, если задать число разрядов (c_max_chars) больше 84, прогресс будет выводиться неверно, лень исправлять. По-хорошему, конечно, нужно раскидать весь диапазон на ядра проца, чтобы не простаивали зря, но это уже не бесплатно ) Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Комбинаторика | MadReason | Помощь студентам | 4 | 09.12.2010 22:52 |
Перебор всех возможных вариантов | phenix | Помощь студентам | 3 | 03.12.2010 21:29 |
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) | Vitalik85 | Microsoft Office Excel | 4 | 12.08.2009 00:30 |
Перебор всех возможных вариантов | [MI_nor] | Общие вопросы C/C++ | 9 | 01.04.2009 21:17 |