Scrieți un subprogram recursiv care primește trei parametri: un vector v de maximum 100 de
elemente naturale de maximum 6 cifre, n – numărul de elemente din vector, n ≤ 100, și p – un
număr natural de maximum 3 cifre, și returnează numărul valorilor din vectorul v care sunt multipli
ai lui p.
Exemplu: dacă n =6, v: 21 17 14 69 120 și p = 3, se va returna valoarea 3, deoarece sunt 3 valori
multipli ai lui p , valorile 21, 69 și 120.
Salut! Va rog mult sa ma ajutati la aceasta problema
Răspunsuri la întrebare
Răspuns:
Explicație:
Aici este un exemplu de subprogram recursiv în C++ care primește trei parametri: un vector v de maximum 100 de elemente naturale de maximum 6 cifre, n – numărul de elemente din vector, n ≤ 100, și p – un număr natural de maximum 3 cifre, și returnează numărul valorilor din vectorul v care sunt multipli ai lui p:
Copy code
#include <iostream>
using namespace std;
int countMultiples(int v[], int n, int p, int index = 0, int count = 0) {
if (index == n) {
return count;
}
if (v[index] % p == 0) {
count++;
}
return countMultiples(v, n, p, index + 1, count);
}
int main() {
int v[] = {21, 17, 14, 69, 120};
int n = sizeof(v) / sizeof(v[0]);
int p = 3;
cout << countMultiples(v, n, p) << endl;
return 0;
}