Informatică, întrebare adresată de adymus, 8 ani în urmă

Program C++

Să se calculeze C(n, k) (combinări de n luate câte k, 0 <= k <= n)

Se cere atât o variantă recursivă cât și una iterativă.

Răspunsuri la întrebare

Răspuns de ElenaSF
2

Răspuns:

Recursiva:

#include <iostream>      

using namespace std;

int permutare(int n)

{

int p=1;

if (n > 0)

 return p=n * permutare(n - 1);

return p;

}

int main()

{

int n, k, c;

cin >> n >> k;

c = permutare(n) / ((permutare(n - k)) * permutare(k));

 cout << c;

}

Iterativa:

#include <iostream>      

using namespace std;

int permutare(int n)

{

int p = 1;

for (int i = 2; i <= n; i++)

 p = p * i;

return p;

}

int main()

{

int n, k, c;

cin >> n >> k;

c = permutare(n) / ((permutare(n - k)) * permutare(k));

cout << c;

}

Explicație:

Alte întrebări interesante