Tente assim
#include <iostream>
#include <string>
using namespace std;
// O número de combinações de "n" objetos diferentes,
// onde "R" objetos são escolhidos de cada vez, é dado pela seguinte
ormula:
// nCr = fatorial(n) / fatorial (R) x fatorial (n - R)
int fatorial( int numero){
if (numero <=1) {
return (1);
}
else {
return (numero * fatorial(numero-1));
};
}
int main() {
int n, R;
cout << "Informe quantos objetos (n): ";
cin >> n;
cout << "Informe tamanho do arranjo (R): ";
cin >> R;
cout << "Combinação de " << n << " combinados de " << R << " em " << R << "\n";
cout << "Total de combinações " << (fatorial(n) / (fatorial (R) * fatorial (n - R))) << "\n" ;
}
Algoritmo
O número de combinações de "n" objetos diferentes, onde "R" objetos são escolhidos de cada vez, é dado pela seguinte formula:
nCr = fatorial(n) / fatorial (R) x fatorial (n - R)
Escreva um programa que calcule o número de combinações de "n" objetos tomados "R", de cade vez os valores "n" e "R" devem ser solicitados ao usuário.
Resolver no Dev C++
Inicialmente é necessário definir as variáveis utilizadas, assim teremos que:
#include <iostream>
using namespace std;
int main()
{
int n,R;
int i=0;
int fatorialR, fatorialn,fatorial_nR,nCr;
Com isso, necessitamos receber do usuário, os valores de R e n, dessa foram teremos:
cout <<"Digite o salário de R ";
cin >> R;
cout <<"Digite o salário de n ";
cin >> n;
Assim, realizaremos inicialmente o calculo do Fatorial de R, onde o fatorial consiste na multiplicação de todos os números menores que R até o 1. No algoritmo em sim, usaremos como ponto de partida do 1 ao número desejado. Assim:
fatorialR=R;//inicializa com o próprio valor de R
for(j=1;j<R;j++){
fatorialR = fatorialR*j;//calculo do fatorial;
}
Com isso, utilizaremos o mesmo método para os fatoriais de n e (n-R), assim:
fatorialn=n;
for( j=1;j<n;j++){//calcula fatorial de n
fatorialn = fatorialn*j;
}
fatorialn=n-R;// calcula fatorial de (n-R)
for(j=1;j<(n-R);j++){
fatorial_nRal_ = fatorial_nR*j;
}
Assim, basta aplicar os valores encontrados na fórmula do problema, exibir para o usuário e encerrar o algoritmo, assim:
nCr = fatorialn / fatorialR * fatorial_nR//formula
cout <<"nCr = "<< nCr;//escreve nCr para o usuário
return 0;
}
Inicialmente é necessário definir as variáveis utilizadas, assim teremos que:
#include <iostream>
using namespace std;
int main()
{
int n,R;
int i=0;
int fatorialR, fatorialn,fatorial_nR,nCr;
Com isso, necessitamos receber do usuário, os valores de R e n, dessa foram teremos:
cout <<"Digite o salário de R ";
cin >> R;
cout <<"Digite o salário de n ";
cin >> n;
Assim, realizaremos inicialmente o calculo do Fatorial de R, onde o fatorial consiste na multiplicação de todos os números menores que R até o 1. No algoritmo em sim, usaremos como ponto de partida do 1 ao número desejado. Assim:
fatorialR=R;//inicializa com o próprio valor de R
for(j=1;j<R;j++){
fatorialR = fatorialR*j;//calculo do fatorial;
}
Com isso, utilizaremos o mesmo método para os fatoriais de n e (n-R), assim:
fatorialn=n;
for( j=1;j<n;j++){//calcula fatorial de n
fatorialn = fatorialn*j;
}
fatorialn=n-R;// calcula fatorial de (n-R)
for(j=1;j<(n-R);j++){
fatorial_nRal_ = fatorial_nR*j;
}
Assim, basta aplicar os valores encontrados na fórmula do problema, exibir para o usuário e encerrar o algoritmo, assim:
nCr = fatorialn / fatorialR * fatorial_nR//formula
cout <<"nCr = "<< nCr;//escreve nCr para o usuário
return 0;
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar