Această secţiune se ocupă cu programarea, fără a ţine cont de limbaj. Dacă vrei (sau trebuie) să înveți algoritmică, aici este locul potrivit. Descrieri şi idei de algoritmi, algoritmi clasici și întrebări pe baza acestora, toate vor fi postate aici.
by begood » 16 Dec 2011, 13:19
Se da un vector cu informatii nesortate, de lungime n.
A se stabili toate combinatiile posibile de doua sau mai multe elemente care au suma mai mica sau egala cu m.
a= [2, 6, 3, 1, 5]
n= 5;
m= 6;
2+3 = 5 < 6
2+1 = 3 < 6
3+1 = 4 < 6
2+3+1 = 6 = 6
Apreciez orice idei.
0,0p / 0 votes
-

begood
- Bit
-
- Joined: 08 Mar 2011
- Status: 0
by depraved » 16 Dec 2011, 14:22
Ehm....Backtracking ?
ceva de genul
void bk(int nivel)
{
pentru(i=1,n,1)
{
adauga elementul v[i] in stiva ;
daca suma nu depaseste m si conditiile de validare sunt respectate
bk(nivel+1)
altfel
inchide nivelul curent, treci la nivelul anterior si afiseaza ce e in stiva.}
0,0p / 0 votes
-

depraved
- Bit
-
- Joined: 03 Sep 2011
- Status: 1
by smith » 16 Dec 2011, 15:05
Backtracking e inutil - sau oricum, din câte îl știu pe begood n-ar dori backtracking - altfel n-ar fi venit pe forum.
Mă gândesc că o fi ceva dinamică - mă mai gândesc după ce vin de la facultă.
0,0p / 0 votes
-

smith
- Enum
-
- Joined: 29 Dec 2009
- Location: Cluj-Napoca
- Status: 82
-
Return to Algoritmică
Who is online
Users browsing this forum: No registered users and 0 guests