![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 14
|
![]()
вот у меня есть такая програма-делается простые комбинации(сочетания) без повторений и выводит их. как мне зделать чтобы работало быстрее. просто мне нада комбинацию с 21 до 45 там выходит 3 773 655 750 150. слишком уж долго ждать пока оно его переберёт всё
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
![]()
во-первых, раз уж Вы говорите про сочетания, правильнее будет сказать "выбрать из 45 по 21".
а во-вторых, Вы, наверное, шутить изволите! если записывать все полученные сочетания в файл, то получается: 3773655750150*23 - разделим полученное число на (1024*1024*1024*1024) чтобы получить размер в ТБ. получаем: 3773655750150*23/(1024*1024*1024*1024) = 78.9 ТерраБайт. У Вас есть куда записать 78 Террабайтный файл?! дальше. Ваш алгоритм, если не сохранять результаты (вообще не сохранять). генерит примерно 1307504 комбинаций за 2.97 секунды (на моём стареньком компьютере, правда). Ну пусть Вам удасться ускорить процесс на два порядка (т.е. в сто раз), хотя мне и такое ускорение кажется маловероятным, с учётом того, что надо результаты всё таки сохранять. тогда получаем, что для перебора потребуется примерно 85717 секунд ~~ 23 часа т.е. генерить будете сутки. Это достаточно быстро?! ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 14
|
![]()
да 78тб я не найду. ну а хоть както прискорть програму можна, ну для меньших собетаний?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
![]()
ускорить можно.
выкиньте визуальный TMemo и используйте вместо него невизуальный TStringList p.s. при указании размера выборки (первое число) больше 9 строчка вывода у Вас получается ошибочная! Попробуйте, например, 15 из 15 |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать, чтобы программа работала сразу через 20 сайтов? | tima777 | Работа с сетью в Delphi | 4 | 13.08.2011 20:48 |
как вставить код программы в Delphi что бы она работала? | Porter_37 | Общие вопросы Delphi | 1 | 26.05.2011 21:20 |
Как сделать чтоб программа работала в фоновом режиме | nik-maximal | Общие вопросы Delphi | 3 | 25.05.2011 20:14 |
Как сделать чтоб при нажатии кнопки форма не работала? | quarty | Помощь студентам | 6 | 05.11.2010 15:50 |
как сделать так что при изменении разрешения экрана программа работала... | Victor[famas] | Общие вопросы Delphi | 7 | 13.02.2008 12:48 |