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

Rezolvare C++, va rog!
Să se întocmească un program în care :
- se citeşte o valoare x cuprinsă în intervalul [1,170];
- se citeşte o valoare y cuprinsă în intervalul [1,x];
- se calculează şi afişează x! şi y!;
- se calculează şi afişează aranjamente de x elemente luate câte y
A(x, y)=x*(x-1)*(x-2)*…* (x-y+1)
- se calculează şi afişează combinări de x elemente luate câte y
C(x, y) = A(x, y) / y!

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int fact(int n) {

   int s = 1;

   for (int i = 1; i <= n; i++) {

       s *= i;

   }

   return s;

}

int main() {

   int x, y;

   cin >> x >> y;

   cout << "x! = " << fact(x) << '\n';

   cout << "y! = " << fact(y) << '\n';

   int aranjamente = fact(x) / fact(x - y);

   cout << "A(x, y) = " << aranjamente << '\n';

   int combinari = aranjamente / fact(y);

   cout << "C(x, y) = " << combinari;

   return 0;

}

Explicatie:

Am folosit o functie fact declarata deasupra main-ului pentru a ne usura munca. Functia fact ne va returna factorialul unui numar dat ca si parametru.

Alte întrebări interesante