Sunteți pe pagina 1din 4

Backtracking

1. Se citesc de la tastatura n, t numere natural, t <= n . Sa se afiseze in consola toate combinatiile


cu t numere din multimea numerelor natural de la 1 la n care sa contina macar un numar par.
Exemplu:
INPUT
n=4
t=3
OUTPUT (cateva exemple)
1, 1, 2

1, 1, 4

1, 2, 1

1, 2, 2

1, 2, 3

etc..

2. Se citesc de la tastatura n, t numere naturale, 2 <= t <= n <= 9 . Sa se afiseze in consola, in


ordine descrescatoare, toate numerele cu t cifre de la 1 la n, care sa contina macar o cifra
impara.
Exemplu:
INPUT
n=4
t=3
OUTPUT (cateva exemple)
443

441

434

433

432

etc..
3. Se citesc de la tastatura n, t, numere naturale, t <= n, apoi, de pe o singura linie, separate prin
spatii n numere naturale (sirul A). Să se afiseze pe cate o linie a fisierului siruri.txt toate șirurile
de lungime t (citit) ce se pot forma cu elemente din șirul A si care respecta concomitent condițiile:

- să conțină elemente diferite două câte două;

- să conțină cel puțin un numar impar (se garantează existența în șir a cel puțin unui număr
impar).

Exemplu:

INPUT

67 12 34 13 19

OUTPUT (cateve exemple de siruri din fisierul siruri.txt):

67, 12, 34

67, 12, 13

67, 12, 19

67, 34, 12, …

4. Se citesc de la tastatura n, t, numere naturale, t <= n, apoi, de pe o singura linie, separate


prin spatii n numere naturale (sirul A). Să se afiseze pe cate o linie a
fisierului siruri.txt toate șirurile de lungime t ce se pot forma cu elemente din șirul A astfel
incat sa conțină cel puțin două numere impare (se garantează existența în șir a cel puțin
doua numere impar). Sirul poate contine aceeasi valoare de mai multe ori. (Se va folosi
Backtracking).
Exemplu:

INPUT

13 9 12 35 78

OUTPUT (cateve exemple de siruri din fisierul siruri.txt):


13, 13, 13

13, 13, 9

13, 13, 12

13, 13, 35, …

5. Din fiserul date.in se citesc: n, t (numere naturale, t <=n). Se citesc apoi elementele
unui sir A, ce conține n numere naturale. Valorile din fisier pot fi pe mai multe linii ale
fisierului, separate sau spatii. Să se formeze toate șirurile de lungime t (citit) cu
elemente din șirul A astfel incat să conțină cel puțin două apariții ale unui anumit
element x din mulțimea A¸ citit de la tastatura. Afisarea se va face in consola.
(Se va folosi Backtracking).
Exemplu:

INPUT

date.in

13 9 12 35 78

consola:

OUTPUT (cateve exemple de siruri):

13, 13, 9, 9
13, 9, 13, 9
13, 9, 9, 13
13, 9, 9, 9
13, 9, 9, 12, …

6. Se citeste k de la tastatura (1 <= k <= 5). Să se afișeze toate numerele cu k*(k+1)/2 cifre
care conțin cifra 1 o singură data, cifra 3 de 2 ori, cifra 5 de 3 ori, cifra 7 de 4 ori, etc...,
Exemplu: pentru k = 3 primele valori afisate sunt 133555, 135355, 135533, etc.

7. Se citeste de la tastatura un alfabet a, sub forma unui șir de caractere. Să se formeze


toate șirurile de lungime t (citit) care să conțină caractere din alfabetul dat a și să
respecte concomitent condițiile:
- să conțină caractere diferite două câte două;
- să nu înceapă și să nu se încheie cu un anumit caracter c din alfabetul a.
Exemplu: pentru a = “hj#!@m”, t = 4 și c = “h” câteva dintre șirurile generate
sunt:
jh#!, jh#@, jh#m, jh!#

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