Sunteți pe pagina 1din 5

Metoda backtracking

Sumurduc Teodora
Sumurduc Alexandru
Hogos Alina

8. Pentru generarea în ordine crescătoare a numerelor cu n cifre formate


cu elementele mulţimii {0,2,4,8} se utilizează un algoritm backtracking
care, pentru n=2, generează, în ordine, numerele 20,22,28,80,82,88.
Dacă n=4 şi se utilizează acelaşi algoritm, precizaţi care sunt numerele
generate în ordine?
Multimea candidatiilor :

int n,st[100],i,A[ ]={0,2,4,8},k;

n=3 ;

n=numarul de elemente din care este formata Solutia;

St-stiva in care se momereaza solutia;

k-nivelul stivei;

A-Indicii vectorului nr

Conditii interne :
If(st[1]==0)//se verifica daca primul element este egal cu 0

return 0;

Conditia de afisre:
If(k==n)

Afisare();

Solutii

St: ___ ___ ___

K 1 2 3
St: 0 ___ ___

K 1 2 3

St: 2 ___ ___

K 1 2 3

St: 2 0 ___

K 1 2 3

St: 2 0 0

K 1 2 3

St: 2 0 2

K 1 2 3

St: 2 0 4

K 1 2 3

St: 2 0 8

K 1 2 3

St: 2 2 0

K 1 2 3
St: 2 2 2

K 1 2 3

St: 2 2 4

K 1 2 3

St: 2 2 8

K 1 2 3

Alte exemple :
204
208
220
222
224
228
240
……
888

S-ar putea să vă placă și