Lista de probleme 6

Filtrare

Se citesc numere de la tastatură până la apariția lui zero. Să se determine câte dintre ele erau pare.

Se citesc numere de la tastatură până la apariția lui zero. Să se determine câte dintre ele erau impare.

Fie număr natural n. Acestuia i se aplică în mod repetat următoarele transformări:

  • dacă n este par, devine n/2
  • dacă n este impar, devine 3*n+1

În 1937 matematicianul Lothar Collatz a formulat următoarea conjectură: pentru orice număr natural, în urma transformărilor numărul devine 1.

De exemplu, pentru n=6 se obține șirul: 6 3 10 5 16 8 4 2 1, șir care are 9 termeni.

Pentru un n dat, determinați numărul de termeni din șirul de transformări după regula de mai sus.

#33 Multiplu C++

Scrieţi definiția completă a subprogramului C++ multiplu care are 3 parametri: a, prin care primeşte un tablou unidimensional cu maximum 100 de numere naturale mai mici decât 1000, n, numărul efectiv de elemente ale tabloului şi k, un număr natural.

Subprogramul returnează numărul de elemente din tablou care sunt multipli ai numărului k şi au ultima cifră egală cu k.

#34 Interval C++

Scrieţi definiția completă a subprogramului C++ interval care are 2 parametri: a, prin care primeşte un tablou unidimensional cu maximum 100 de numere naturale mai mici decât 1000 și n, numărul efectiv de elemente ale tabloului.

Subprogramul returnează numărul de elemente din tablou care aparțin intervalului închis determinat de primul și ultimul element al tabloului.

#35 Count C++

Scrieţi definiția completă a subprogramului C++ count care are 2 parametri: a, prin care primeşte un tablou unidimensional cu maximum 100 de numere reale mai mici decât 1000 și n, numărul efectiv de elemente ale tabloului.

Subprogramul returnează numărul de elemente din tablou care sunt mai mari sau cel puțin egale cu media aritmetică a tuturor elementelor din tablou.