Analise Combinatoria
Ir para navegação
Ir para pesquisar
#include <stdio.h>
#include <stdlib.h>
double fatorial (unsigned int x);
int main()
{ unsigned int opcao, n, p;
double comb, arranj, permut, aux1, aux2, aux3;
printf("Escolha qual a operação:\n");
printf("\t(1) Combinação;\n\t(2) Permutação;\n\t(3) Arranjo\n\t>:");
scanf("%d",&opcao);
switch(opcao)
{
case 1: printf("\nEntre com o valor de n >:");
scanf("%u",&n);
printf("\nEntre com o valor de p >:");
scanf("%u",&p);
aux1 = fatorial(n);
aux2 = fatorial(p);
aux3 =fatorial(n-p);
comb = aux1/(aux2 *aux3);
printf("\n\n\nA combinação de %u elementos, tomados %u a %u \202 igual a: %f", n,p,p,comb);
break;
case 2: printf("\nEntre com o valor de n >:");
scanf("%u",&n);
permut = fatorial(n);
printf("\n\n\nA permutação de %u elementos \202 igual a: %f", n,permut);
break;
case 3: printf("\nEntre com o valor de n >:");
scanf("%u",&n);
printf("\nEntre com o valor de p >:");
scanf("%u",&p);
aux1 = fatorial(n);
aux3 =fatorial(n-p);
arranj = aux1/aux3;
printf("\n\n\nO arranjo de %u elementos, tomados %u a %u \202 igual a: %f", n,p,p,arranj);
break;
default: printf("\nOpcao invalida!");
} //end switch
return 0;
}
double fatorial (unsigned int x)
{ double aux=1;
int i;
if(x>1)
{
for(i=x;i>1;i--)
aux *=i;
} else
aux = 1;
return aux;
}