Citat:
Blue82: Dobro, ubedio si me.
A sada imas li nekog keca u rukavu? :)
Kako izracunati sve zbirove brojeva koji su u nekom n-tom nizu?
Na žalost, ne postoji kec u rukavu. Ovakvi problemi se rešavaju heurističkim algoritmima.
Prvo pitanje je da li ti je zaista potrebno da za 32 elementa niza generišeš svih 4 milijardi kombinacija? Možda problem nisi postavio kako treba. Možda je tvoj problem, u stvari, da odgovoriš na pitanje: Da li broj k može da se predstavi nekom sumom koja sadrži brojeve iz niza a?
Ono što ti pokušavaš, naziva se "brute force" metod (silom pokušavaš da rešiš problem). To neki put upali, naračito ako u podrumu držiš superkompjuter koji će, eventualno, posle nekoliko dana/meseci rada da na nabasa na rešenje.
Pogledaj, recimo, algoritam koji se naziva
A*. U dnu članka imaš i linkove na kategorije :
Graph algorithms, Routing algorithms, Search algorithms, Combinatorial optimization, Game artificial intelligence, Articles with example pseudocode
pa ako tvoj problem upada u neku od ovih kategorija, možeš više da se informišeš.
EDIT: za rešavanje problema: da li k može da se predstavi sumom čiji su članovi podskup niza a, koristio bih "branch and cut" metod.
[Ovu poruku je menjao djoka_l dana 03.08.2010. u 16:20 GMT+1]