Lista de probleme 11

Filtrare

Considerăm următorul șir, în care n este un număr natural nenul: \( f_n = \begin{cases}
0& \text{dacă } n = 1,\\
3& \text{dacă } n = 2,\\
2 \cdot f_{n-1} – f_{n-2} + 2& \text{dacă } n > 2.
\end{cases} \)

Primii termeni ai acestui șir sunt: 0, 3, 8, 15, 24, 35, 48, 63, 80 ....

Se citesc două numere naturale din intervalul [0,109], x și y, reprezentând valorile a doi termeni aflați pe poziții consecutive în șirul dat (x<y), și se cere să se afișeze, în ordine strict descrescătoare, separați prin câte un spațiu, toţi termenii șirului mai mici sau egali cu y.

Numim secvență neuniformă a unui șir de numere naturale un subșir al acestuia, format din termeni aflați pe poziții consecutive în șirul dat, cu proprietatea că oricare trei termeni aflați pe poziții consecutive sunt diferiți. Lungimea secvenței este egală cu numărul de termeni ai acesteia.

Se dă un șir de cel mult 106 numere naturale din intervalul [0,9], în care există cel puțin trei termeni diferiți pe poziții consecutive. Se cere să se afișeze lungimea maximă a unei secvențe neuniforme a șirului dat.

Scrieți un program care citește de la tastatură un număr natural n (n∈[2,100]) și un șir de n numere naturale din intervalul [0,10000] și construiește în memorie un tablou bidimensional cu n linii și n coloane, numerotate începând de la 0, astfel încât parcurgând orice coloană numerotată cu un număr par, de jos în sus, sau orice coloană numerotată cu un număr impar, de sus în jos, se obține șirul citit.

Numim secvență încadrată a unui șir de numere naturale un subșir al acestuia, format din termeni aflați pe poziții consecutive în șirul dat, subșir care începe și se termină cu aceeași valoare. Lungimea secvenței este egală cu numărul de termeni ai acesteia.

Să se determine secvențele încadrate dintr-un șir, care au lungimea maximă.

Un text are cel mult 100 de caractere și este format din cuvinte, numere naturale și spații. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Cuvintele și numerele sunt separate prin câte un spaţiu.

Scrieţi un program care citește de la tastatură un text de tipul menţionat mai sus și afișează pe ecran numărul din text care începe cu cea mai mare cifră. Dacă există mai multe astfel de numere, se afișează doar unul dintre acestea, iar dacă textul nu conține niciun număr, se afișează pe ecran mesajul nu exista.

O pereche de cuvinte, unul cu număr par de litere, iar celălalt cu număr impar de litere, se numește descentrată dacă se poate obține cuvântul cu număr par de litere din celălalt, prin duplicarea caracterului din mijlocul acestuia. Să se determine dacă există perechi descentrate de cuvinte.

Fiind dat un cuvânt s, format numai din litere, și un cod c, de aceeași lungime cu s, format numai din cifre, numim codificare a lui s pe baza codului c operația de construire a unui nou șir, în care inițial se copiază prima literă din s, apoi, parcurgând de la stânga la dreapta restul șirului s, se adaugă litera curentă la începutul noului șir, dacă cifra corespunzătoare de pe aceeași poziție în c este pară, sau la finalul noului șir, în caz contrar.

Scrieţi un program care citește de la tastatură, de pe linii diferite, două cuvinte, notate cu s și c, fiecare având cel mult 100 de caractere, s fiind format doar din litere mici ale alfabetului englez, iar c fiind format doar din cifre. Programul construiește în memorie și afișează pe ecran cuvântul obținut prin codificarea lui s pe baza lui c, dacă cele două cuvinte au aceeași lungime, sau mesajul cod incorect, în caz contrar.

#2975 FRadical C++

Definiți funcția

void FRadical(int n, int &x, int &y)
cu parametrii:
  • n, prin care primește un număr natural din intervalul [1, 1.000.000.000]
  • x și y – două numere naturale care se determină, cu proprietatea că x2 * y = n, iar x este maxim posibil

#2792 Interval4 C++

Subprogramul interval are un singur parametru, n, prin care primește un număr natural (n∈ [3,106]). Subprogramul returnează cel mai mic număr natural x (n<x) care NU este prim, cu proprietatea că în intervalul [n,x] există un singur număr prim.

Scrieţi definiţia completă a subprogramului.

#2795 Resturi1 C++

Subprogramul resturi are patru parametri, n, x, y și r, prin care primește câte un număr natural din intervalul [1,109], r<x<y<n. Subprogramul returnează numărul de valori naturale din intervalul [1,n] pentru care atât restul împărțirii la x, cât și restul împărțirii la y, sunt egale cu r.

Scrieţi definiţia completă a subprogramului.