Posts Tagged

problema 4

V8 S3 P4
  • 12 august 2013

Se consideră definite următoarele subprograme:
– p1 care primeşte prin intermediul parametrului n un număr natural cu cel mult 8 cifre şi
returnează suma cifrelor numărului n

Exemplu: dacă n este egal cu 1234 valoarea returnată de subprogram va fi 10.

-p2 care primeşte prin intermediul parametrului n un număr natural cu cel mult 8 cifre, şi
returnează numărul obţinut prin eliminarea ultimei cifre a lui n.

Exemplu: dacă n este egal cu 1234 valoarea returnată de subprogram va fi 123.

a) Scrieţi numai antetul subprogramelor p1 şi p2.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural nenul n cu cel
mult 8 cifre şi determină, prin apeluri utile ale subprogramelor p1 şi p2, numărul de cifre
egale cu 0 din scrierea lui n. Programul va afişa pe ecran numărul obţinut.
Exemplu: dacă n este 102030, programul va afişa valoarea 3.

Punctul a)

Punctul b)

V7 S3 P4
  • 12 august 2013

Se consideră şirul definit de următoarea relaţie de recurenţă:
Captură de ecran_2013-08-12_161857

a) Scrieţi numai antetul unui subprogram sub, care primeşte prin intermediul parametrului n
un număr natural de maximum 8 cifre, şi care returnează cel mai mare termen al şirului de
mai sus mai mic sau cel mult egal cu n.

Exemplu: dacă n=83 atunci subprogramul va returna valoarea 80.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural s (s≤10000000)
şi determină un şir de numere distincte a căror sumă este egală cu s, folosind apeluri utile
ale subprogramului sub. Numerele determinate se vor scrie în fişierul Numere.txt, pe
prima linie a acestuia, separate prin câte un spaţiu.

Exemplu: dacă valoarea citită de la tastatură este 63, atunci fişierul Numere.txt va
conţine valorile următoare, nu neapărat în această ordine: 40 20 3.

Punctul a)

Punctul b)

V5 S3 P4
  • 5 august 2013

Subprogramul f, cu un parametru:
– primeşte prin intermediul parametrului a un număr natural cu cel mult 8 cifre (a>1);
– returnează cel mai mic divizor prim al valorii parametrului a.

Exemplu: pentru valoarea 45 a parametrului a, subprogramul va returna valoarea 3
deoarece a=3²*5, iar cel mai mic divizor prim al său este 3.

a) Scrieţi definiţia completă a subprogramului f.

b) Scrieţi un program C/C++ care să citească de la tastatură un număr natural nenul n
(n≤100) şi un şir de n numere naturale distincte de cel mult 8 cifre fiecare, toate numerele
din şir fiind strict mai mari decât 1. Folosind apeluri utile ale subprogramului f, programul va
determina şi va afişa pe ecran toate numerele prime din şirul citit. Numerele determinate se
vor afişa pe ecran, separate prin câte un spaţiu. Dacă nu există astfel de numere se va afişa
pe ecran mesajul NU EXISTA.

Exemplu: pentru n=8, şirul: 1125, 2, 314, 101, 37, 225, 15, 12 se va afişa:
2 101 37

Punctul a)

Punctul b)

V4 S3 P4
  • 5 august 2013

Subprogramul cif, cu doi parametri, primeşte prin intermediul parametrului a un număr
natural cu cel mult 8 cifre şi prin intermediul parametrului b o cifră; subprogramul returnează
numărul de apariţii ale cifrei b în scrierea numărului a.

Exemplu: pentru a=125854 şi b=5, subprogramul va returna valoarea 2.

a) Scrieţi definiţia completă a subprogramului cif.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n cu cel mult 8
cifre, dintre care cel puţin una impară, şi care determină şi afişează pe ecran, folosind
apeluri utile ale subprogramului cif, cel mai mic număr natural care poate fi obţinut
utilizând toate cifrele impare ale numărului n.

Exemplu: dacă n=2152331 atunci se va afişa pe ecran numărul 11335.

Punctul a)

Punctul b)

V3 S3 P4
  • 5 august 2013

Subprogramul cif, cu doi parametri, primeşte prin intermediul parametrului a un număr
natural cu cel mult 8 cifre şi prin intermediul parametrului b o cifră; subprogramul returnează
numărul de apariţii ale cifrei b în scrierea numărului a.

Exemplu: pentru a=125854 şi b=5, subprogramul va returna valoarea 2.

a) Scrieţi definiţia completă a subprogramului cif.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n cu cel mult 8
cifre, dintre care cel puţin una impară, şi care determină şi afişează pe ecran, folosind
apeluri utile ale subprogramului cif, cel mai mare număr natural care poate fi obţinut
utilizând toate cifrele impare ale numărului n.

Exemplu: dacă n=2152331 atunci se va afişa pe ecran numărul 53311.

Punctul a)

Punctul b)

V2 S3 P4
  • 4 august 2013
  • 2 Comments

Un număr n se numeşte extraprim dacă atât el, cât şi orice număr obţinut prin permutarea
circulară a cifrelor lui n, sunt numere prime. De exemplu, numărul 197 este un număr
extraprim deoarece 197, 971, 719 sunt numere prime. Numărul 23 nu este extraprim
deoarece 32 nu este prim.
a) Scrieţi definiţia completă a unui subprogram f, cu un parametru, subprogram care:
– primeşte prin intermediul parametrului a un număr natural cu cel mult 2 cifre (a>1) ;
– returnează suma tuturor exponenţilor din descompunerea în factori primi a valorii
parametrului a.

Exemplu: pentru a=90 subprogramul va returna valoarea 4, deoarece a=2*3^2*5 şi
1+2+1=4.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n, 2≤n≤99, şi
care, folosind apeluri utile ale subprogramului f, verifică dacă n este un număr extraprim şi
afişează pe ecran, în caz afirmativ mesajul DA, iar altfel mesajul NU.

Punctul a)

Punctul b)

V1 S3 P4
  • 3 august 2013

Subprogramul sub, cu trei parametri, primeşte prin intermediul parametrilor:
– v un tablou unidimensional cu cel mult 100 de componente ce memorează numere
întregi de cel mult 4 cifre fiecare;
– n un număr natural nenul mai mic sau egal cu 100 ce reprezintă numărul efectiv de
componente ale tabloului primit prin intermediul parametrului v;
– a un număr întreg cu cel mult 4 cifre.
Subprogramul sub returnează numărul componentelor tabloului primit prin intermediul
parametrului v ale căror valori sunt egale cu valoarea parametrului a.

Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=21 ale parametrilor, în urma
apelului, subprogramului sub va returna valoarea 2.

a) Scrieţi definiţia completă a subprogramului sub.
b) Scrieţi un program C/C++ care să citească de la tastatură un număr natural nenul n
(n≤100) şi n numere întregi, fiecare având cel mult 4 cifre, şi care, folosind apeluri utile ale
subprogramului sub, să afişeze pe ecran mesajul DA dacă oricare două dintre cele n
numere citite sunt distincte două câte două, sau mesajul NU în caz contrar.

Exemplu: pentru n=6 şi cele n numere citite de la tastatură: 47 183 69 8 134 -56
se va afişa pe ecran mesajul DA.

Punctul a)

Punctul b)