|
Тема |
Re: Алгоритъм [re: Sargon lll] |
|
Автор | Javist (Нерегистриран) | |
Публикувано | 25.08.08 14:30 |
|
|
Ако търсиш някаква оптимизация, това което ми идва на първо четене е следното:правиш 2 сортирани списъка, като в единя слагаш всички възможни стойности на a*b(Списък X) а във втория всички целочислени възможни стойности на a*b*A(Списък Y), където а и b са ти от множеството положителни (хубаво е за всяка стойност от списъка да помниш как се е получила). Нулираш си един брояч "p", след това вземаш единя от тези 2 списъка (без значение кой примерно X), и започваш да циклиш от първото число на X, катo за всяко число x на X, започваш от "p" -тото число на Y да въртиш по числата (y) и докато x>y, увеличаваш брояча "p"(т.е. да е равен на индекса на y). Ако в някой момент x=y, значи си стигнал до решение и блъскаш в списъка на принципа на commercial. в такъв момент слагаш брояча "p" да ти е = индекса на y и спираш да го увеличаваш. След това ако в някой момент стигнеш до x<y, тогава преминаваш към следващото в X списъка. Ако за някое x, x>y до края на списъка на Y, спираш работа. може да има и по-добро решение, но това свежда проверките от 810 000 до под 3000 при 30 възможности
|
| |
|
|
|