Bueno, como algunos ya saben la distribución binomial calcula la probabilidad de obtener "k" éxitos en una sucesión de n ensayos Bernoulli independientes entre sí y todos con una probabilidad "p" de éxito y de q=1-p de fracaso, aqui les dejo un código para java que hice que calcula
P(X=k)
P(X<=k)
P(X>=k)
obviamente con una "n" y una "p" dadas por el usuario al inicio
import java.util.*;
public class Binomial
{
 public static double facrec(int n)
 {
  if (n==0)
   return 1;
  else
   return n*facrec(n-1);
 }
    public static double coeficiente(int n, int k)
    {
     
      double resp; 
       resp=facrec(n)/(facrec(k)*facrec(n-k));
      return resp;
       
    }  
    public static double fmp(int n, double p,int k)
    {
     double resp;
     resp=1;
    
     resp=coeficiente(n,k)*Math.pow(p,k)*Math.pow(1-p,n-k); 
      return resp;
    }
    public static double complemento(int n, double p, int x)
    {
     double resp;
     resp=1-fpa(n,p,x-1);
     return resp;
    }
    public static double fpa(int n, double p, int x)
    {
     int i;
     double resp;
     resp=0;
     for (i=0;i<=x;i=i+1)
     {
      resp=resp+fmp(n,p,i);
     }
     return resp;
    }
    public static void main(String[] args)
    {
     Scanner lee;
     lee = new Scanner(System.in);
     double p,prob,prob1;
     int n,k,m,k1;
        System.out.println("Dame la n y la p");
      
        n=lee.nextInt();
        p=lee.nextDouble();
        System.out.println("Dame m para calcular P(X=m)");
        m=lee.nextInt();
        prob =fmp(n,p,m);
       
        System.out.println(prob);
        System.out.println("Dame la k para calcuar P(X<=k)");
        k=lee.nextInt();
        prob1=fpa(n,p,k);
        System.out.println(prob1);
       
       System.out.println("Dame una k para calcular P(X>=k)");
       k1=lee.nextInt();
       System.out.println(complemento(n,p,k1));
       
       
    }
}
 
Gracias por el aporte, podrías explicarlo si gustas. Saludos.
ResponderEliminar