Перейти к содержанию
Fire Monkey от А до Я

[Win] TParallel и Комбинаторика


Рекомендуемые сообщения

Здравствуйте.

Попытался разобраться в примерах по работе с TParallel, но не затащил (

Да и вообще хочу уточнить поможет ли в моем случаем использование TParallel.

 

задача в виде кода такая:

for i_01 := 1 to 7 do
    for i_02 := 1 to 7 do
      for i_03 := 1 to 7 do
        for i_04 := 1 to 7 do
          for i_05 := 1 to 7 do
begin
  if (i_01 <> i_02) and 
     (i_01 <> i_03) and
     (i_01 <> i_04) and
     (i_01 <> i_05) and

     (i_02 <> i_03) and
     (i_02 <> i_04) and
     (i_02 <> i_05) and

     (i_03 <> i_04) and
     (i_03 <> i_05) and
    
     (i_04 <> i_05) then

     // сохраняю эти данные в файл.
end;

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

К примеру перебирая все варианты, выпадает такой: 1,2,3,4,4

Этот вариант я не сохраняю так как в нем две одинаковые четверки.
А вот вариант 1,2,3,4,5 сохраню, так как все числа в этом наборе не повторяются.

 

Сейчас задача выполняется на компе, но процессор грузиться только на 18% под эту программу.

(Win 8.1 64 bit, iCore7, 8Гб ОЗУ, Ядер 4, Логический процессов 8)

 

Сам перебор выполняется в отдельном потоке.

 

*Подскажите пожалуйста, возможно ли применение TParallel под мою задачу и если да, то ускорит ли его применение работу программы?

 

*И если не трудно и кто знает как, то выложите пожалуйста пример как это должно выглядеть.

 

*Есть ли вариант заменить вон тот список условий (if (i_01 <> i_02.... и т.д.) на какой нибудь более грамотный вариант и не в ущерб в скорости? Или этот вариант единственный?

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...