Está en la página 1de 2

ackage Elementos;

import java.util.Scanner;
public class PyC
{
@SuppressWarnings("resource")
public static void main(String[] args)
{
Scanner board = new Scanner(System.in);
System.out.println("introdusca el valor de n");
int n=board.nextInt();
System.out.println("introdusca el valor de r");
int r=board.nextInt();
System.out.println("Si busca hacer una permutacion escriba 1");
System.out.println("Si busca hacer una combinacion escriba 2");
int ans= board.nextInt();
if(ans==1)
{
System.out.println("si busca una permutacion con repeticion
escriba 1");
System.out.println("si busca una permutacion sin repeticion
escriba 2");
int ansP= board.nextInt();
if(ansP==1)
{
System.out.println(PconRep(n,r)+(" posibles permutaciones
con repeticion"));
}
if(ansP==2)
{
System.out.println(PsinRep(n,r)+(" posibles permutaciones
sin repeticion"));
}
}
if(ans==2)
{
System.out.println("si busca una combinacion con repeticion
escriba 1");
System.out.println("si busca una combinacion sin repeticion
escriba 2");
int ansC= board.nextInt();
if(ansC==1)
{
System.out.println(CconRep(n,r)+(" posibles combinaciones
con repeticion"));
}
if(ansC==2)
{
System.out.println(CsinRep(n,r)+(" posibles combinaciones
sin repeticion"));
}
}
}
public static int factorial (int numero) {
if (numero==0)
return 1;
else
return numero * factorial(numero-1);
}
public static int PconRep(int n,int r)
{
int ans=(int) Math.pow(n,r);
return ans;
}
public static int PsinRep(int n,int r)
{
int numerador=factorial(n);
int denominador=n-r;
denominador=factorial(denominador);
int ans=numerador/denominador;
return ans;
}
public static int CconRep(int n,int r)
{
int x=n+(r-1);
x=factorial(x);
int y=(factorial(r))*(factorial(n-1));
int ans=x/y;
return ans ;
}
public static int CsinRep(int n,int r)
{
int num=factorial(n);
int aux=factorial(r);
int aux1=n-r;
aux1=factorial(aux1);
aux=aux*aux1;
int ans=num/aux;
return ans;
}
}

También podría gustarte