Sunteți pe pagina 1din 10

Cerința

Scrieți definiția completă a unui subprogram C++ nr_prim care primește prin singurul său
parametru, n, un număr natural cu cel mult 9 cifre și returnează cel mai mic număr prim, strict
mai mare decât n.

Restricții și precizări
numele subprogramului va fi nr_prim

Exemplu
Dacă n=28, nr_prim(n)=29. Dacă n=17, nr_prim(n)=19.
—-------------------------------------------------------------------------------------------------------------------------------------------------

Cerința
Să se scrie o funcţie care primeşte ca argumente două numere naturale a şi b şi returnează
numărul de elemente din intervalul [a,b] care au cifra de control egală cu a.
Cifra de control a unui număr se obţine efectuând suma cifrelor sale, apoi suma cifrelor acestei
sume etc. până se obţine o sumă formată dintr-o singură cifră. De exemplu, cifra de control a
numărului 645 este 6. (6+4+5=15, 1+5=6)

Restricţii şi precizări
numele funcţiei va fi sum_cifra_control
funcţia va avea doi parametri, a şi b, în această ordine
1 ≤ a ≤ 9
a < b ≤ 107
Exemplu
sum_cifra_control(2, 100) = 11
—----------------------------------------------------------------------------------------------------------------------------------------

Cerinţa
Scrieţi definiția completă a subprogramului C++ nreal cu doi parametri x și y, numere naturale din
intervalul [1;1000] ce returnează un număr real cu proprietatea că partea sa întreagă este egală
cu x, iar numărul format din zecimalele sale, în aceeaşi ordine, este egal cu y.

Restricţii şi precizări
numele subprogramului va fi nreal
funcția va avea doi parametri: x și y, în această ordine
rezultatul calculat al funcției va fi de tip double. Folosirea altor tipuri reale va conduce la
erori de compilare în programul suport.
Exemplu
Pentru x=12 și y=543, subprogramul returnează valoarea 12.543.

Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni
poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

—--------------------------------------------------------------------------------------------------------------------------------------------------------

Cerinţa
Să se scrie o funcție C++ care primeşte doi parametri, n şi k şi returnează numărul de cifre ale lui
n care divid pe k.

Restricţii şi precizări
numele funcției va fi nr_cif
funcția va avea doi parametri, în această ordine: n, k
valorile parametrilor vor fi numere naturale mai mici decât 2.000.000.000
Exemplu
Rezultatul apelului nr_cif(7203534,20) este 3, deoarece 2, 5 şi 4 divid pe 20.
—--------------------------------------------------------------------------------------------------------------------------------------------------------

Să se scrie o funcție C++ care verifică dacă un număr natural transmis ca parametru este
aproape prim. Un număr natural este aproape prim dacă se poate scrie ca produs de două
numere prime distincte.

Restricţii şi precizări
numele funcției scrise este a_prim
funcția are un parametru, număr natural, a cărui valoare este mai mică decât 231
rezultatul funcției este 1 dacă valoarea parametrului este număr aproape prim, respectiv 0 în caz
contrar
Exemplu
Numărul 14 este aproape prim, deoarece 14=2*7, iar 2 și 7 sunt numere prime.
—--------------------------------------------------------------------------------------------------------------------------------------------------------

Cerința
Trebuie să definiți trei funcții având următoarele antete:

int NrDiv(int n)
int NextNrDiv(int n)
int PrevNrDiv(int n)
Funcția NrDiv primește ca parametru un număr natural n și returnează numărul divizorilor lui n
Funcția NextNrDiv primește ca parametru un număr natural n și returnează cel mai mic număr
natural, strict mai mare decât n, care are același număr de divizori ca și n.
Funcția PrevNrDiv primește ca parametru un număr natural n și returnează cel mai mare număr
natural, strict mai mic decât n, care are același număr de divizori ca și n. Dacă acest număr nu
există, funcția va returna valoarea -1.

Restricții și precizări
10 ≤ n ≤ 50.000
Puteți să apelați o funcție din altă funcție. Se recomandă ca funcțiile să fie definite în ordinea
descrisă mai sus în enunț.

Exemplu
NrDiv(100) = 9, NextNrDiv(100) = 196, PrevNrDiv(100) = 36
—--------------------------------------------------------------------------------------------------------------------------------------------------------
Cerinţa
Scrieți definiția completă a subprogramului multipli, cu trei parametri a , b , c (a≤b), numere
naturale, ce returnează numărul multiplilor lui c din intervalul [a;b].
Restricţii şi precizări
numele funcției va fi multipli
funcția va avea 3 parametri, în această ordine: a, b, c.
1 ≤ a , b , c ≤ 1.000.000.000
Exemplu
Pentru a=10, b=27, c=5 subprogramul returnează valoarea 4.

—--------------------------------------------------------------------------------------------------------------------------------------------------------
Cerința
Subprogramul multiplu are un singur parametru, n, prin care primește un număr natural
(n∈[1,104]). Subprogramul returnează cel mai mic multiplu nenul al lui n cu proprietatea că este
pătrat perfect.

Scrieți definiția completă a subprogramului.

Exemplu:
Dacă n=72 sau n=144, subprogramul returnează numărul 144 (144=12`2).

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