Sunteți pe pagina 1din 4

Permutari (123, 125, 1327, 1281, 202, 194, 2205)

1. Se citeşte un număr natural nenul n. Să se afişeze, în ordine lexicografică, permutările


mulţimii {1,2,..,n}.Fişierul de intrare permutari.in conţine pe prima linie numărul n.
Fişierul de ieşire permutari.out va conţine pe fiecare linie elementele unei permutări, separate
prin câte un spaţiu. 0 < n < 9
2. Se citeşte un număr natural nenul n, apoi n numere naturale distincte. Să se afişeze, în
ordine lexicografică, permutările mulţimii formate din cele n numere citite. Fişierul de intrare
permutari2.in conţine pe prima linie numărul n, ia r pe a doua linie n numere naturale. Fişierul
de ieşire permutari2.out va conţine pe fiecare linie elementele unei permutări, separate prin
câte un spaţiu.
3. Se citeşte un număr natural nenul n, apoi n numere naturale distincte. Să se afişeze, în
ordine lexicografică, șirurile din cele n valori cu proprietatea că oricare două valori învecinate
sunt prime între ele. Fişierul de intrare sirpie.in conţine pe prima linie numărul n, iar pe a
doua linie n numere naturale. Fişierul de ieşire sirpie.out va conţine pe fiecare linie elementele
unei șir, separate prin câte un spaţiu.
4. Se consideră o tablă de șah de dimensiune n. Să se plaseze pe tablă n regine astfel încât să
nu existe două regine care să se atace. Programul citește de la tastatură numărul n. Programul
va afișa pe ecran o singură configurație validă a tablei de șah. Ea va fi alcătuită din n linii cu
câte n caractere - sau *, separate prin câte un spațiu. Caracterul - reprezintă o poziție liberă de
pe tablă, iar caracterul * reprezintă o poziție de pe tablă ocupată de o regină.
5. Fie mulţimea M={1,2,..,n} şi P(1),P(2),...,P(n) o permutare a ei. Elementul x din M se
numeşte punct fix dacă P(x)=x. Se citeşte un număr natural nenul n. Să se afişeze, în ordine
lexicografică, permutările fără puncte fixe ale mulţimii {1,2,..,n}. Fişierul de intrare permpf.in
conţine pe prima linie numărul n. Fişierul de ieşire permpf.out va conţine pe fiecare linie
elementele unei permutări, separate prin câte un spaţiu.
6. Se numește anagramă a unui cuvânt dat, un alt cuvânt ce conține toate literele primului,
eventual în altă ordine. Fişierul de intrare anagrame1.in conţine pe pe prima linie un cuvânt S,
format din cel mult 8 litere distincte ale alfabetului englez. Fişierul de ieşire anagrame1.out va
conţine toate anagramele cuvântului S, fiecare pe o linie, în ordine alfabetică.
7. Se consideră un cuvânt C format din litere mici, nu neapărat distincte. Să se afișeze în
ordine lexicografică toate cuvintele distincte formate cu exact aceleași caractere ca și C.
Fișierul de intrare permrep.in conține pe prima linie cuvântul C. Fișierul de ieșire permrep.out
va conține pe câte o linie un cuvânt care are exact aceleași litere ca și C.
Aranjamente (196, 3159, 996, 1009, 389, 451)

1. Se citesc două numere naturale nenule n și k. Să se afişeze, în ordine lexicografică,


aranjamentele de câte k elemente ale mulţimii {1,2,..,n}. Fişierul de intrare aranjamente.in
conţine pe prima linie numerele n și k, separate printr-un spatiu. Fişierul de ieşire
aranjamente.out va conţine pe fiecare linie câte k valori, separate prin câte un spaţiu,
reprezentând elementele unei aranjări.

2. Se citesc un număr natural n având cifrele diferite două câte două și o cifră c. Afișați în
ordine crescătoare numerele formate din c cifre distincte care se pot obține din cifrele lui n.
Programul citește de la tastatură numele n și c. Programul va afișa pe ecran numerele cerute,
câte unul pe fiecare rând.

3. Utilizând metoda backtracking, se generează toate drapelele formate din câte 3 culori
distincte din mulțimea {alb, galben, negru, roșu, verde}. Două drapele sunt distincte dacă
diferă prin cel puțin o culoare sau prin ordinea culorilor. Primele patru soluţii obţinute sunt, în
această ordine: (alb, galben, negru), (alb, galben, roșu), (alb, galben, verde) și (alb, negru,
galben).

4. Utilizând metoda backtracking, se generează, în ordine strict descrescătoare, toate numerele


naturale de câte patru cifre distincte din mulțimea {0, 1, 2, 3, 4, 5}. Primele șase numere
generate sunt, în această ordine: 5432, 5431, 5430, 5423, 5421, 5420.

5. Sa se genereze toate numere cu exact două cifre pot fi construite folosind doar cifre pare
distincte?

6. O clasă de n de elevi este la ora de educaţie fizică şi profesorul doreşte să formeze o echipă
de p elevi. Ordinea elevilor în cadrul echipei are importanţă. Afisati toate solutiile.

7. Se utilizează metoda backtracking pentru a genera în ordine lexicografică toate cuvintele de


câte trei litere distincte din mulţimea {d,a,n,s}.
Combinari (197, 204, 3152, 380, 381, 406)

1. Se citesc două numere naturale nenule n și k. Să se afişeze, în ordine lexicografică,


submulțimile de câte k elemente ale mulţimii {1,2,..,n} Fişierul de intrare combinari.in
conţine pe prima linie numerele n și k, separate printr-un spatiu. Fişierul de ieşire
combinari.out va conţine pe fiecare linie câte k valori, separate prin câte un spaţiu,
reprezentând elementele unei submulțimi.

2. Se citesc două numere naturale nenule n și m. Să se determine toate şirurile cu m elemente


din mulţimea {1,2,..,n}, ordonate strict crescător, cu proprietatea că oricare două elemente
consecutive în şir au diferenţa mai mică sau egală cu cu 2. Fişierul de intrare siruri.in conţine
pe prima linie numerele n și m, separate printr-un spațiu. Fişierul de ieşire siruri.out va
conţine pe fiecare linie câte m valori, separate prin câte un spaţiu, reprezentând elementele
unui şir.

3. Se citesc două numere naturale n și m. Afișați în ordine lexicografică toate submulțimile cu


m elemente ale mulțimii {1, 2, ..., n} în care nu există două elemente pare alăturate.
Programul citește de la tastatură numerele n și m. Programul va afișa pe ecran submulțimile
cerute, câte una pe fiecare rand și având elementele separate prin câte un spaţiu.

4. Folosind modelul combinărilor se generează numerele naturale cu câte trei cifre distincte
din mulţimea {1,2,3,7}, numere cu cifrele în ordine strict crescătoare, obţinându-se, în ordine:
123, 127, 137, 237. Dacă se utilizează exact aceeaşi metodă pentru a genera numerele naturale
cu patru cifre distincte din mulţimea {1,2,3,4,5,6,7,8}, câte dintre numerele generate au prima
cifră 2 şi ultima cifră 7?

5. Utilizând metoda backtracking sunt generate numerele de 3 cifre, având toate cifrele
distincte şi cu proprietatea că cifrele aflate pe poziţii consecutive sunt de paritate diferită.
Ştiind că primele şase soluţii generate sunt, în această ordine, 103, 105, 107, 109, 123, 125,
care este a zecea soluţie generată?

6. În vederea participării la un concurs, elevii de la liceul sportiv au dat o probă de selecţie, în


urma căreia primii 6 au obţinut punctaje egale. În câte moduri poate fi formată echipa
selecţionată ştiind că poate avea doar 4 membri, aleşi dintre cei 6, şi că ordinea acestora în
cadrul echipei nu contează?

7. Utilizând metoda backtracking, se generează toate posibilitățile de a forma succesiuni de


câte 3 genuri muzicale distincte din mulțimea {jazz, rock, latino, house, pop}, din cele
specificate.
Produs cartezian (1277, 376, 387, 390, 392, 399, 402)

1. Se dau două numere naturale nenule n și m. Considerăm mulțimea A={1,2,..,n}. Să se


genereze în ordine lexicografică elementele produsului cartezian
Am=A×A×⋯×AAm=A×A×⋯×A. Fișierul de intrare produscartezian1.in conține pe prima
linie numerele n și m, separate printr-un spațiu. Fișierul de ieșire produscartezian1.out va
conține elementele produsului cartezian, fiecare pe o linie. Valorile de pe fiecare linie vor fi
separate prin câte un spațiu.

2. Utilizând metoda backtracking se generează în ordine lexicografică cuvintele de câte patru


litere din mulţimea A={a,b,c,d,e}, cuvinte care nu conţin două vocale alăturate. Primele opt
cuvinte generate sunt, în ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe.

3. Un algoritm de tip backtracking generează, în ordine lexicografică, toate şirurile de 5 cifre


0 şi 1 cu proprietatea că nu există mai mult de două cifre 0 pe poziţii consecutive. Primele 7
soluţii generate sunt: 00100, 00101, 00110, 00111, 01001, 01010, 01011.

4. Un algoritm generează în ordine crescătoare toate numerele de n cifre, folosind doar cifrele
3, 5 şi 7. Dacă pentru n=5, primele cinci soluţii generate sunt 33333, 33335, 33337, 33353,
33355, precizaţi toate solutiile in fisierul „solutii.out”

5. Un algoritm generează, în ordine lexicografică, toate şirurile alcătuite din câte n cifre binare
(0 şi 1). Ştiind că pentru n=5, primele patru soluţii generate sunt 00000, 00001, 00010, 00011,
precizaţi toate solutiile in fisierul „solutii.out”.

6. Un program citeşte o valoare naturală nenulă impară pentru n şi apoi generează şi afişează
în ordine crescătoare lexicografic toate combinaţiile formate din n cifre care îndeplinesc
următoarele proprietăţi:

 încep şi se termină cu 0;
 modulul diferenţei între oricare două cifre alăturate dintr-o combinaţie este 1.

Astfel, pentru n=5, combinaţiile afişate sunt, în ordine, următoarele: 01010, 01210.
7. Generarea tuturor cuvintelor de trei litere mici, nu neapărat distincte, ale alfabetului englez
in fisierul „cuvinte.out”

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