袋中N个号码不同的球,任意取出三球中任二球均不连号的机率?

园子里有人问起:袋中有1到10号的球各一个,任意取出三球,求三球中任二球均不连号的机率?邀月今天抽空试了一下。算法很一般。期待交流。
大概的算法是三层循环,先任意取出一个球,再从剩余球里再取出任意一个,再******。

Code


测试 :

 public static void Main(string[] args)
        
{
            
int[] OrgInt = 12345678910 };
            GetProbability(OrgInt);
        }


测试结果:

Code


三球中任二球不连号的可能性有:336种!

三球取出的全部可能性有:720种!
三球中任二球均不连号的机率为:0.466666666666667

欢迎指正。

说明:
文章开头说的是1-10号球是连号的。而本文的算法中是不区分号码的具体的数字,
也就是说,算法是通用的,跟具体的数字没有关系。

可以测试:

    public static void Main(string[] args)  
          
{  
              
int[] OrgInt = 12345678, 911 };  
              GetProbability(OrgInt);  
          }
 

把原数字10改为11,则答案变成

三球中任二球不连号的可能性有:378 种!
三球取出的全部可能性有:720种!
三球中任二球均不连号的机率为:0.525


    public static void Main(string[] args)  
          
{  
              
int[] OrgInt = 12345678, 1311 };  
              GetProbability(OrgInt);  
          }
 

把原数字10改为11,把原数字9改为13,则答案变成

三球中任二球不连号的可能性有:420 种!
三球取出的全部可能性有:720种!
三球中任二球均不连号的机率为:0.525

邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。
助人等于自助!  3w@live.cn
原文地址:https://www.cnblogs.com/downmoon/p/1568800.html