Sunteți pe pagina 1din 5

Problema 1 (Palindroame)

Pentru un număr natural n (1 ≤ n ≤ 20) se cere să se determine câte numere palindroame cu n cifre se pot
forma, numere în care o cifră se poate repeta de cel mult două ori.
Prin număr palindrom înţelegem un număr natural care, citit de la stânga la dreapta
sau de la dreapta la stânga, se obţine acelaşi număr (exemple de numere palindroame:
123321, 45245).
Valoarea lui n se citeşte de la tastatură, iar numărul cerut se afişează pe ecran.

Exemplu:
Pentru n=3 se va afişa numărul 81.

Problema 2 (Codificare)

Doru şi Stelică, doi elevi neastâmpăraţi, vor să comunice între ei în timpul orelor prin texte codificate.
Pentru acest lucru ei ajung la ideea că nu trebuie să se complice prea mult pentru a putea decodifica uşor
textele. Astfel ei codifică fiecare cuvânt schimbând între ele prima cu ultima literă, apoi a doua literă cu
penultima şi aşa mai departe (spre exemplu cuvântul acest va fi codificat prin tseca ).
Pentru a simplifica comunicarea ei vor utiliza numai texte formate din litere mici ale alfabetului englez şi
spaţii. Spaţiile nu vor fi codificate, ele fiind lăsate pe aceleaşi poziţii în text. Două cuvinte vor fi separate
prin unul sau mai multe spaţii.
De la tastatură se dă un text cu maxim 80 de caractere, iar textul codificat va fi afişat de către programul
vostru pe ecran.

Exemplu:
Pentru textul:
mircea a spart un geam
se va afişa:
aecrim a traps nu maeg

Problema 3. (Salariul unui miner )


In anul 1990 salariul unui miner era de forma 22..2 (numar format cu n cifre de 2, n numar natural dat).
Dupa un an salariul se mareste cu 22..2 (format cu n-1 cifre de 2), dupa 2 ani se mareste cu 22..2 (format cu
n-2 cifre de 2) si asa mai departe.
a) Sa se afiseze salariul minerului in 1990;
b) Sa se afiseze salariul minerului dupa k ani (k<=n), k numar natural dat;
c) Sa se determine numarul cel mai mare format numai din cifre impare ale salariului unui miner din anul
1990+x, cu x numar natural citit de la tastatura.
Exemplu:
Se citesc de la tastataura:
n=6
k=3
x=5
Se va afisa pe ecran:
a) 222222
b) 246888
c) 91
Problema 4. (PRO-NATO)
Pactul NATO este alcatuit din n tari, numerotate cu 1,..,n. Se dau: n - numarul de tari din NATO k -
numarul de tari care si-au manifetat dorinta sa intre in NATO (numerotate cu n+1,n+2,..,n+k); v(1) v(2) ..
v(n) - numere naturale care codifica voturile fiecareia dintre cele n tari. Un numar v(i) are semnificatia ca
reprezentarea lui in baza 2 da decizia tarii i dij NATO pentru candidatura fiecareia din cele k tari. Mai
precis, prima cifra de la stanga la dreapta reprezinta decizia referitoare la tara n+1 (1 pentru DA, 0 pentru
NU), a doua cifra reprezinta decizia referitoare la tara n+2, si asa mai departe. Daca in reprezentarea binara
sunt mai multe cifre se vor lua in considerare numai primele k cifre, iar daca sunt mai putine cifre se
adauga in fata reprezentarii zerouri pana se obtin k cifre. Se cere:
a) Deciziile tarilor din NATO (in formatul din exemplul de mai jos);
b) Sa se afiseze tarile care pot intra in NATO (cele care au votul favorabil al tuturor tarilor din NATO);
c) La al doilea val de intrare in NATO, care este ordinea de prioritate a tarilor pretendente (ordinea de
prioritate este ordinea descrescatoare a voturilor favorabile obtinute in cadrul votului pentru primul val).
Exemplu:
date de intrare:
n=6
k=4 11 31 10 31 7 31
Date de iesire (se afiseaza pe ecran):
a) 1011 1111 1010 1111 0111 1111
b) 9
c) 7 10 8

Problema 5. (Codificare dubla )


Pentru transmiterea unor mesaje codificate se foloseste codificarea cu primele n*n (n<=100, n numar
natural) numere prime. Pentru a fi siguri ca nu se poate descifra mesajul se ia hotararea ca mesajul sa mai
fie codificat inca odata. Pentru codificare se folosesc doua tablouri a si b cu n*n componente fiecare.
Tabloul a contine crescator numerele prime incepand cu 2 pe linii de la stanga la dreapta. Tabloul b contine
crescator primele numere pare incepand cu 2 pe linii de la stanga la dreapta. Numarul a(i,j) se codifica cu
b(n-i+1,n-i+1).
Pentru i citit de la tastatura:
a) Sa se afiseze tablourile a si b;
b) Pentru un text codificat prin numere prime (separate prin spatiu) citit de la tastatura in variabila x, sa se
afiseze noua codificare;
c) Pentru a mocsora numarul de caracere din taxtul codificat la punctul (b) se ia hotararea ca in cazul
numerelor care se repeta sa se scrie numarul urmat de o paranteza in care se precizeaza de cate ori apare;
d) Pentru un text citit de la tastatura in variabila y codificat ca la punctul (c) sa se afizeze tectul decodificat
folosind numerele prime din tabloul a.
Exemplu:
Pentru
n=3
x=3 5 5 23
y= 6 16(4) 4 6(2) 8
a) Tabloul a: 2 3 5 7 11 13 17 19 23 Tabloul b: 2 4 6 8 10 12 14 16 18
b) 16 14 14 2
c) 16 14(2) 2
d) 17 3 3 3 3 19 17 17 13

Problema 6. (Problema omului care s-a dus la ghicitoare )


Vecinul meu este om de treaba, adr are un defect: crede in tot ce i se ghiceste. ieri s-a dus la o ghicitoare, o
tipa culta (terminase liceul la seral). Aceasta i-a spus: numeroteaza zilele care le mai ai de trait cu 1,2,..,n.
Apoi: - in fiecare zi divizibila cu p1 risti sa te calce masina; - in fiecare zi divizibila cu p2 risti sa-ti cada o
caramida pe picior; -.... - in fiecare zi divizibila cu pk risti sa-ti spargi capul. Vecinul meu a observat ca
numerele naturale p1,p2,..,pk sunt prime, mai mari ca 1. Ce s-a gandit nefericitul ? Sa ramana in casa in
fiecare zi in care risca sa i se intample ceva. prin urmare, el se intreaba: cate zile din cele n pe care le mai
am de trait, pot iesi din casa ? Datele se citesc din fisierul ghinion.txt astfel: linia 1: n k linia 2: p1 p2 .. pk
Observatii:
1) n<1.000.000, k<100;
2) pe fiecare linei datele sunt separate printr-un blanc;
3) timp de rulare: 30 secunde/test;
Exemplu:
10 3 2 3 5
Programul tipareste: 2

Problema 7. (Problema profesorului )


Profesorul de matematica ne spune: "Nu am pretentie de la voi sa-mi dati o demonstratie optima la
problema, dar macar nu aplicati reguli fara rost". Ce intelege dansul prin asta ? Fie k<100 reguli,
numerotate de la 1 la k. O regula are forma x->y (x si y sunt propozitii) si semnificatia: daca propozitia x
este adevarata, atunci proprozitia y este adevarata.
Exemplu:
k=5.
Regulile sunt:
(1) 1->2
(2) 1->3
(3) 3->4
(4) 4->5
(5) 1->5
Profesorul cere sa demonstram 1->5.
Demonstrarea optima este aplicarea regulei (5). Un elev demonstreaza asa: 2 1 3 4 (1->3, 1->2, 3->4, 4->5).
Aceasta este o demonstratie corecta, dar are in plus regula 1->2. Profesorul ar fi fost multumit ca
demonstratia sa fie 2 3 4 (1->3, 3->4, 4->5). Programul dumneavoastra citeste: k, x(propozitia care se
considera adevata), y (propozitia care trebuie demonstrata), sirul celor k reguli si sirul numerelor de odine
ale regulilor care constituie demonstratia elevului. Programul testeaza daca sirul nuemrelor de ordine ale
regulilor este intr-adevar o demonstratie. In caz negativ scrie pe monitor 'NU', iar in caz afirmativ scrie pe
monitor 'DA', dupa care afiseaza demonstratia elevului din care au fost eliminate afirmatiile inutile.
Profesorul considera ca un sir de reguli fara reguli in plus este o demonstratie corecta a propozitiei y
pornind de la propozitia x, daca renuntarea la orice ragula ar conduce la o secventa prin care y nu se mai
poate deduce din x. Datele de intrare se gasesc in fisierul prof.txt astfel: Linia 1: k x y Urmatoarele k linii
contin cate o pereche de numere naturale z t cu semnificatoia z->t. Linia 2 retine regula 1, linia 3 retine
regula 2, linia k+1 retine regula k. Ultima linie memoreaza demonstratia elevului (numerele de ordine ale
regulilor folosite). datele sunt corecte, iar in fiecare linie numerele sunt separate printr-un blanc.
In conditiile exemplului dat, fisierul de intrare va fi:
51512133445152134
Programul tipareste: DA 2 3 4
Timp de rulare: 30 secunde/test.

Problema 8.
Se citeste de la tastatura un numar natural n. Sa se determine numarul maxim obtinut prin eliminarea din
numarul dat a r cifre, r fiind un numar natural precizat.
Exemplu;
Pentru
n = 56273
r=3
se va afisa numarul 67
Problema 9.
Prichindel compune un exercitiu de calcul scriindu-l pe ecranul calculatorului. El incepe sa rezolve
exercitiul, notandu-si pe o hartie, in dezordine, numai rezultatele partiale ale calculelor. Dupa ce termina,
DOS, cainele sau indragostit de informatica, trage cu dintii de cablul de alimentare a calculatorului scotand
fisa din priza, inainte ca Prichindel sa salveze pe disc exercitiul compus. Disperat, incearca sa scrie din
memorie exercitiul, dar nu reuseste sa-si aminteasca decat primul numar pe care-l scrie repede pe hartie.
Stiind ca exercitiul era compus numai din numere naturale si operatii de adunare (+) si cunoscand
deprinderile lui sanatoase de a efectua adunarile de la stanga la dreapta, sunteti rugati sa reconstituiti
exercitiul folosind numerele scrise de Prichindel pe foaia de hartie.
Se citesc de la tastatura:
- n, reprezentand cate numere sunt scrise pe hartie;
- pe rand cele n numere.
Se va afisa exercitiul.
Exemplu:
Pentru
n=3
12
6
23
se va afisa
6+6+11=23

Problema 10. (Masina care tunde iarba).


O masina programabila de tuns iarba se afla in coltul din NV al unui teren acoperit de gazon. Fara sa se
deplaseze, ea niveleaza gazonul pe o suprafata patrata de o unitate. Terenul este similar unui patrat format
din nxn astfel de unitati. Masina este programata sa se deplaseze in orice directie de un numar de pasi, apoi
sa-si schimbe directia si sa se deplaseze un numar de pasi, etc. Directia de miscare este codificata prin
literele N(ord), S(ud), E(st), V(est). Se cunosc n<=30 (latura terenului), programul (o secventa de comenzi
de forma litara-numar-litera-numar-.. formata din cel mult 80 caractere). Sa se reprezinte situatia nivelarii
gazonului dupa fiecare comanda si sa se stabileasca daca masina va tunde in final toata suprafata, trecerile
repetate peste acelasi patrat unitar neavand nici o importanta. Depasirea limitelor terenului nu este posibila,
masina fiind capabila sa faca pasi pe loc la marginea acestuia cand este necesar.
Exemplu:
n=4
program= S1E3N4S3V10

------- ------- ------- ------- ------- -------


|x ||x ||x ||x x||x x||x x|
| ||x ||x x x x||x x x x||x x x x||x x x x|
| || || || || x|| x|
| || || || || x||x x x x|
------- ------- ------- ------- ------- -------
Nu se niveleaza tot terenul.

Problema 11. (Si numerele au sefi).


Fiind date doua numere naturale a si b a caror reprezentare binara ocupa 8 biti (daca este cazul, numerele se
completeaza la stanga cu numarul de zerouri necesare) spunem ca a este seful lui b daca pentru orice cifra
binara egala cu 1 din reprezentarea lui a, cifra corespunzatoare ca pozitie din reprezentarea lui b este 0 sau
1, si pentru orice cifra binara egala cu 0 a lui a, cifra corespunzatoare ca pozitie din reprezentarea lui b este
0.
Exemple:
a=3 --> 00000011
b=1 --> 00000001
a este seful lui b

a=4 --> 00000100


b=1 --> 00000001
a nu este seful lui b.

Se citeste un numar natural n<=255. Sa se determine numarul sefilor sai. Observatie: Orice numar este
propriul lui sef.
Exemplu:
numarul n=127 are 2 sefi (127 si 255)

Problema 12. (Toti iepurasii dintr-o lovitura).


Mai multi iepurasi se plimba pe culoare orizontale, fiecare pe cate un culoar. Culoarele sunt impartite intr-
un numar dat (impar) de camarute. Camarutele din mijloc sunt asezate pe o dreapta verticala. Pe aceasta
dreapta este asezat un vanator. Acesta poate impusca orice iepuras care se gaseste in camaruta din mijloc a
culoarului sau. Se presupune ca un glonte poate trece printr-un numar oricat de mare de iepurasi. Se citesc
de la tastatura: - n - numarul de culoare; Pentru fiecare culoar se citesc doua numere naturale: - numarul de
camarute; - camaruta in care se gaseste initial iepurasul al momentul 0 (camarutele se numeroteaza de la
stanga la dreapta); Se stie ca fiecare iepuras pleaca initial catre camaruta din dreapta culoarului sau si isi
continua drumul pana la capatul culoarului, apoi se intoarce efectuand in continuare o miscare de "dute-
vino". In fiecare camaruta, iepurasul sta o unitate de timp. Trecerea intre doua casute se considera ca se
face instantaneu. Cat timp trebuie sa astepte vanatorul pentru a putea impusca toti iepurasii, utilizand un
singur glonte (daca este posibil) ? In cazul in care nu pot fi impuscati toti iepurasii, programul va afisa
mesajul "IMPOSIBIL".
Exemplu:
n=2 nr casute de pe culoarul 1: 3 camaruta unde se afla iepurasul 1: 1 nr casute de pe culoarul 2: 5 camaruta
unde se afla iepurasul 2: 4 Raspuns: 3

Problema 13. (Numai distincte).


Se citesc doua numere naturale n si k, k<=n<=100.
a) Sa se scrie n ca suma de puteri distincte ale lui k. Daca nu este posibil, se va afisa mesajul "IMPOSIBIL
a".
b) Sa se scrie n ca suma de k numere distincte. Daca nu este posibil, se va afisa mesajul "IMPOSIBIL b".
c) Sa se scrie n ca produs de k numere naturale distincte. Daca nu este posibil, se va afisa msajul
"IMPOSIBIL c".
Exemplu: pentru n=14, k=2:
a) 14=2^3+2^2+2
b) 14=4+10
c) 14=2*7

Have Phun ;) - Razvan

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