Sunteți pe pagina 1din 2

1

Introducere n programare, 2014-2015


SETUL 1 de probleme
1. Scriei o funcie care s calculeze suma cifrelor unui numr natural.
2. Scriei o funcie care verific dac un an este bisect.
3. Scriei o funcie care s testeze dac un numr este palindrom. Un numr este palindrom dac citit de la dreapta
la stnga este egal cu numrul citit de la stnga la dreapta.
Exemple: 36463 este palindrom, dar 2646 nu este palindrom.
4. Scriei un program, care, pentru o lun i un an date, calculeaz numrul de zile din luna respectiv (folosii o
funcie separat care verific dac un an este bisect).
Exemplu: pentru luna februarie din anul 2004, numrul de zile este 29.
5. Scriei o funcie care calculeaz cifra de control a unui numr natural. Cifra de control se obine calculnd suma
cifrelor numrului, apoi suma cifrelor numrului obinut etc., pn se ajunge la o singur cifr.
Exemplu: 4879 28 10 1.
6. Spunem c un numr natural este perfect dac este egal cu suma divizorilor si strict mai mici dect el. Scriei o
funcie care verific dac un numr este perfect. S se determine toate numerele perfecte mai mici ca un numr
natural n dat.
Exemplu: 28 este un numr perfec deoarece 28 = 1 + 2 + 4 + 7 + 14.
Pentru n = 1000, se vor determina numerele 6, 28, 496.
7. S se testeze dac un numr este prim.
Exemple: 1000003 este prim, dar 1000002 este compus, deoarece este divizibil i prin 3.
8. Dou numere naturale impare consecutive i prime se numesc numere prime gemene.
Folosind testul de primalitate implementat anterior, determinai primele n perechi de numere prime gemene.
Exemplu: Primele n = 3 perechi de numere prime gemene sunt (3, 5), (5, 7) i (11, 13).
9. Se citete un tablou de numere ntregi. Scriei o funcie care determin diferena maxim (n modul) dintre
oricare dou elemente ale vectorului.
Exemplu: pentru tabloul (1, 3, 2, 7, 11, 3, 2), diferena maxim (n modul) este 12.
10. Se citete un tablou de numere ntregi. S se determine, printr-o singur parcurgere a sa, poziia de nceput i
lungimea celei mai lungi secvene de elemente egale. Dac exist mai multe secvene de lungimi egale, se va
determina secvena cu poziia de nceput minim.
Exemplu: pentru tabloul (1, 2, 3, 3, 3, 2, 1, 5, 5, 5), se vor determina poziia 2 i lungimea 3.
11. Se d un vector de numere ntregi. S se determine subsecvena pentru care suma elementelor componente este
maxim. Dac exist mai multe subsecvene cu aceast proprietate, se va determina ultima subsecvent gsit.
Exemplu: pentru tabloul (2, 3, 4, 2, 9, 2, 1, 7, 3), subsecvena este (9, 2, 1, 7).
12. Se citete un tablou de numere ntregi. S se rearanjeze elementele astfel nct cele pare sa apar naintea celor
impare, n cadrul subsecvenei de numere pare, respectiv impare, elementele trebuie sa apar n ordinea n care
erau n tabloul iniial.
Exemplu: tabloul (2, 3, 4, 2, 9, 2, 1, 7, 3) va fi rearanjat n (2, 4, 2, 2, 3, 9, 1, 7, 3).
13. Se consider un tablou cu n elemente. S se decid dac exist un element majoritar (cu numrul de apariii mai
mare dect n/2).
14. Scriei un program care citete elementele unei matrici ptratice i interschimb liniile i coloanele acesteia
astfel nc n matricea final, elementele de pe diagonala principal s fie n ordine descresctoare. S se
afieze matricea iniial i matricea dup fiecare operaie.
Exemplu: pentru matricea (
1 4
3 2
) se vor afia, pe rnd, matricile (
1 4
3 2
), (
1 1
2 3
), (
2 3
4 1
).
2

15. Scriei un program care citete elementele unei matrici ptratice de dimensiune n i afieaz irul format prin
parcurgerea acesteia n spiral, pornind din colul stnga sus ctre dreapta pn n centrul matricei.
Exemplu: pentru matricea (
1 2 3
4 5 6
7 8 9
) se va afia irul 1 2 3 6 9 8 7 4 5.
16. S se defineasc un tip pentru reprezentarea datelor calendaristice. S se scrie o funcie care primete la intrare o
dat calendaristic i returneaz succesorul acesteia.
Exemplu: succesorul datei 31.10.2014 este 1.11.2014.
17. S se determine ecuaia unei drepte care trece prin dou puncte n plan.
Exemplu: pentru punctele (2, 1) i (5, 7), ecuaia dreptei este 2x y 3 = 0.

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