Sunteți pe pagina 1din 2

Algoritmi elementari care operează asupra cifrelor unui număr natural

1. Să se scrie un subprogram C++ prin care se dublează prima cifră a unui număr natural
n transmis ca parametru. Funcția întoarce rezultatul prin intermediul aceluiași
parametru n.

2. Să se scrie un subprogram C++ care să verifice dacă un numărul natural transmis ca


parametru, conține o cifră care este suma celorlalte cifre.

3. Să se scrie o funcție C++ care primește ca parametri două numere n și k și determină


numărul format din primele k cifre ale lui n. Funcția va întoarce rezultatul prin
intermediul unui parametru de ieşire.
ex prefix(27594 , 3 , x) --> x=275

4. Subprogramul duplicare are trei parametri:


· x, prin care primește un număr natural de maxim 9 cifre
· c1,c2 prin care primește fiecare câte o cifră
Se cere să se înlocuiască în numărul x toate aparițiile cifrei c1 cu c2, iar c2 cu c1.
Subprogramul furnizează, prin parametrul x, numărul obținut
Exemplu x=123423, c1=2, c2=3 atunci rezultatul va fi 132432

5. Subprogramul duplicare are un singur parametru, n, prin care primește un număr


natural (n∈[1,104)). Subprogramul furnizează, prin același parametru, numărul
obținut din n prin inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale
cu jumătate din aceasta.
Exemplu Dacă n=2380 după apel, n=2138400, iar dacă n=35 după apel, n=35.

6. Subprogramul secventa are un singur parametru, n, prin care primește un număr


natural, în care nu există secvențe de mai mult de două cifre identice aflate pe poziții
consecutive. Subprogramul înlocuiește în n fiecare secvență 22 cu câte o secvență 20
și furnizează, prin același parametru, numărul obținut. Dacă nu se înlocuiește nicio
secvență, subprogramul furnizează numărul nemodificat.
Dacă n=202233228, atunci, după apel, n=202033208.

7. Să se scrie o funcție C++ care primește ca parametri două numere n și k și determină


cel mai mare număr care poate fi scris cu k cifre ale lui n. Funcția va întoarce
rezultatul prin intermediul unui parametru de ieşire.
Pentru apelul numar(27594 , 3 , x), atunci x=975

8. Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează


prin intermediul aceluiași parametru numărul obținut din n prin inserarea, între oricare
două cifre alăturate ale sale, a valorii absolute a diferenței acestora.
Dacă n = 7255, atunci, după apelul inserare(n) valoarea lui n va fi 7523505.

9. Subprogramul Impare are un singur parametru, n, prin care primește un număr


natural. Subprogramul înlocuiește fiecare cifră impară a lui n cu cea mai mare cifră
pară strict mai mică decât ea (astfel cifra 1 se înlocuieşte cu cifra 0, cifra 3 cu cifra 2
etc.) și furnizează numărul obținut tot prin parametrul n.
Dacă n=235690, atunci, după apel, n=224680, iar dacă n=15690, atunci, după apel, n=4680.
10. Să se scrie o funcție C++ care să returneze cel mai mic număr care se poate scrie cu
cifrele unui număr natural transmis ca parametru.

11. Să se scrie o funcție C++ care primește ca parametru un număr natural n și returnează
1 dacă n conține cel puțin trei cifre alăturate impare, sau returnează 0 în caz contrar.
Ex. TreiCifImp(34715132) = 1,
TreiCifImp(114) = 0

12. Să se scrie o funcție care are ca parametru un număr natural n și returnează cel mai
mare număr care poate fi obținut mutând, pe rând, prima cifră a numărului n și a celor
obținute pe parcurs, pe ultima poziție. Nu se vor folosi șiruri de caractere și tablouri
auxiliare.
nrmaxim(n=4273) = 7342 – este cel mai mare număr dintre 2734, 7342, 3427, 4273.

Algoritmi de divizibilitate

1. Să se scrie o funcție care verifică dacă un număr natural este prim.


2. Să se scrie o funcție care returnează suma divizorilor unui număr natural x transmis
ca parametru.
3. Funcție care primește prin intermediul unui parametru x un numar natural si
furnizeaza prin y și z cele mai apropiate numere prime de x
4. Se dă un număr natural n. Calculați suma dintre cei mai mici doi divizori proprii
distincti ai lui n.
5. Functie care returneaza cmmdc a doua numere x și y transmise ca parametru.
6. Functie care returneaza cmmmc a doua numere x și y transmise ca parametru.
7. Funcție care afișează descompunerea în factori primi a unui număr natural x transmis
ca parametru.
8. Să se scrie un program care afișează divizorii comuni ai două numere naturale citite
de la tastatură.
9. Se citesc doua numere x si y. Sa se verifice dacă cele doua numere au aceeași factori
primi în descompunere, indiferent de putere
10. Se citește un număr natural x. Sa se verifice dacă toți factorii primi din descompunere
sunt la aceeași putere.

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