Probleme+diverse

Probleme recapitulative din materia clasei a 9-a

Pseudocod

A. Cifrele unui numar

1. Se citeste un numar natural n. Construiti 2 numere din cifrele lui: unul din cifrele impare luate de la stanga la dreapta, altul din cele pare luate de la dreapta la stanga. Ex: daca n=123321545 se obtin 133155 si 422

2, Verificati daca un numar natural n are toate cifrele pare.

3.Verificati daca un numar natural n contine printre cifrele lui toate cifrele impare.

Ex: 1237594 contine cifrele 1,3,5,7,9

4. Se da un numar n. Obtineti alt numar cu aceleasi cifre impare ca n, dar cele pare sa fie mai mari cu 1.

5. Verificati daca un numar natural n este "magic". Un numar este "magic " daca toate sufixele lui si prima sa cifra sunt prime. Ex 283 e magic, 293 nu e magic.

6. Se da un numar n. verificati daca cifrele lui sunt in ordine strict crescatoare.

7. Se da un numar n. Sa se afiseze cel mai mare numar care se poate obtine mutand pe rand prima cifra a numarului la sfarsit. Afisati si toate numerele obtinute pe parcurs.

Ex: daca n= 2543 dintre 5432, 4325, 3254 si 2543 mai mare e 5432.

8. Se da un numar n. Sa se elimine o singura cifra din n astfel incat numarul obtinut sa fie: a) cel mai mic posibil. b) cel mai mare posibil

B. Divizibilitate. Numere prime. Numere speciale.

1. Afisati toate numerele prime din intervalul [a,b] 2. Determinati cel mai apropiat numar de n (diferit de n) care are exact k divizori. 3. Se citesc n numere naturale. Afisati a) numarul de numere prime b) numarul maxim c) numarul care are numar maxim de divizori. (daca exista mai multe, se va afisa unul singur)

C.Vectori 1. Se citeste din fisier un numar n urmat de n numere naturale. Valorile se memoreaza intr-un vector. a) afisati elementul maxim din vector si numarul de aparitii ale acestuia. b) afisati prima cifra a fiecarui element c) afisati pentru fiecare pereche de elemente alaturate, cmmdc-ul acesteia d) afisati toate perechile de elemente din vector care sunt prime intre ele. e) eliminati din vector primul element care se repeta. f) inserati dupa primul palindrom, suma cifrelor acestuia. g) afisati perechile de elemente egal departate de margini care sunt formate din acelasi numar de cifre.

2.Se citeste din fisier un numar n urmat de n numere naturale. a) Inserati dupa fiecare numar neprim, cel mai mic divizor al acestuia b) Stergeti toate numerele cu k cifre din vector.

Probleme recapitulative din materia clasei a 10-a



A. Subprograme


 * 1.Definiți un subprogram care primeşte doi parametri numere naturale şi returnează cel mai mare divizor comun a celor două numere.**
 * a) Scrieţi apoi un program în care se citesc cele** n **elemente ale unui vector şi se calculează cel mai mare divizor comun al celor** n **numere**
 * b) Calculati cel mai mic multiplu comun al celor** n **numere;**
 * c) Calculati cel mai mare divizor comun al perechilor de numere vecine din şir.**


 * 2. Scrieți o funcţie care determină suma divizorilor proprii ai unui număr natural (parametru).**
 * a) Folosind funcţia determinați toate perechile de numere distincte din intervalul** [A, B] **care au sumele divizorilor egale;**
 * b) Afişați toate numerele mai mici sau egale cu** nr **citit care au suma divizorilor egală cu produsul divizorilor lor.**
 * c) Afişați numerele perfecte mai mici decât** nr **dat (un număr perfect este egal cu suma divizorilor săi ex: 6 = 1 + 2 + 3).**


 * 3. Scrieti urmatoarele subprograme**
 * I. Verifica daca un numar (transmis ca parametru) are sau nu toate cifrele distincte.**
 * II. Determina numarul de divizori ai unui numar transmis ca parametru.**
 * Folosind subprogramele proiectate si alte subprograme, rezolvati:**
 * a. Eliminati dintr-un vector toate numerele ce nu au cifre distincte.**
 * b. Adaugati intr-un vector, dupa elementul cu cei mai multi divizori, divizorii acestuia.**
 * c. Eliminati dintr-un vector toate numerele ce nu contin cifre mai mari decat o valoare** k **data.**
 * d. Adaugati dupa fiecare element al unui vectorului ce contine cifre pare numarul de cifre pare ale acestuia.**


 * 4. Se dă un vector cu n elemente numere naturale. Determinați cea mai lungă secvență de elemente nule din vector. Dacă în vector există mai multe secvențe de elemente nule de lungime maximă se va determina cea mai din stânga.**
 * 5.Se dă un vector cu n elemente, numere naturale. Determinați cea mai lungă secvență de elemente din vector care sunt in ordine crescatoare. Dacă în vector există mai multe secvențe corecte de lungime maximă se va determina cea mai din stânga.**

B.Subprograme recursive === 9. Se consideră şirurile definite recurent astfel:  === === Să se scrie un program care să citească a, b şi n şi să calculeze şi. ===
 * 1.Determinati folosind o functie recursiva cifra cea mai mare a unui numar.**
 * 2. Determinati folosind o functie recursiva suma cifrelor pare ale unui numar.**
 * 3. Numarati cifrele unui numar folosind o functie recursiva.**
 * 4. Numarati de cate ori se gaseste cifra x intr-un numar folosind o functie recursiva.**
 * 5. Numarati divizorii unui numar folosind o functie recursiva.**
 * 6. Determinati inversul unui numar.**
 * 7. Pentru n dat, sa se construiasca recursiv triunghiul de numere de mai jos, fara a folosi nici o instructiune repetitiva.**
 * 1**
 * 1 2**
 * 1 2 3 ……….. n-1**
 * 1 2 3 ……….. n-1 n**
 * 8. Sa se descompuna un numar in factori primi, folosind un algoritm recursiv. (Ex: 19344=24*3*13*31)**
 * 8. Sa se descompuna un numar in factori primi, folosind un algoritm recursiv. (Ex: 19344=24*3*13*31)**
 * 10. Conversie numardin baza 10 in baza b <10. **


 * 11. O persoana are de coborat n trepte. La fiecare pas, el poate cobori una sau doua trepte. Cate posibilitati are de a cobori scara? **


 * Exemplu: pentru n=12, exista 233 de posibilitati. **


 * 12.Se da un vector cu n elemente intregi. Sa se realizeze folosind functii recursive:**
 * a) interschimbare vector**
 * b)verificare daca exista cel putin un element pozitiv in vector.**
 * c) afisare perechi de numere alaturate cu aceeasi paritate**
 * d) afisare perechi de numere cu aceeasi prima cifra**
 * e) afisare sir invers**
 * f) suma elementelor sirului**
 * g) numarul de elemente pare**
 * h) verificare daca toate elementele sunt impare**

C. Structuri
 * Definiti o structura de date care sa memoreze data curenta. (zi, luna ,an)**
 * Se citesc din fisierul Date.in informatii despre n persoane: numele si data nasterii.**


 * Afisati:**
 * a) persoanele nascute in luna martie/3**
 * b) fiecare luna a anului cu persoanele nascute in acea luna**
 * c) persoanele ordonate descrescator dupa varsta**


 * Se va scrie o functie care compara 2 date calendaristice**

D. Siruri de caractere ** > **Exemple **: dacă se citesc, în această ordine, cuvintele: > ** calut ** > ** bacalaureat ** > pe ecran se afişează mesajul ** DA ** > iar dacă se citesc, în această ordine, cuvintele: > ** calut ** > ** lacatus ** > pe ecran se afişează mesajul ** NU **.
 * 1) Sa se verifice daca doua cuvinte sunt sau nu anagrame.
 * 2) Codificati un text astfel incat litera a sa devina c, b sa devina e s.a.m.d.
 * 3) Sa se elimine dintr-un text toate vocalele.
 * 4) Se da un sir de caractere. Inlocuiti toate consoanele mici cu consoane mari.
 * 5) Se dau 2 siruri s1 si s2. Verificati daca s2 este: a) sufix al lui s1 b)prefix al lui s1
 * 6)  Scrieţi un program ** C/C++ **care citeşte de la tastatură două cuvinte distincte, fiecare fiind format din cel mult ** 30 **de caractere, numai litere mici ale alfabetului englez. După primul cuvânt se tastează Enter. Programul verifică dacă prin eliminarea unor litere din cel de al doilea cuvânt se poate obţine primul cuvânt. În caz afirmativ programul afişează pe ecran mesajul ** DA **, altfel mesajul ** NU **.

Probleme diverse

1. Scrieti un subprogram care determina numarul de aparitii ale cifrei c in scrierea numarului x in baza p<10. (recursiv/nerecursiv) 2. Sa se afiseze elementul de pe pozitia k din sirul: 1,2,2,3,3,3,4,5,5,5,5,5,6,7,7,7,7,7,7,7,8,9,10,11,11,... 3. Sa se afiseze elementele situate intre poz. k si t din sirul: 1,2,2,3,3,3,2,5,5,5,5,5,2,3,7,7,7,7,7,7,7,2,4,3,2,5,11,11,...