n条鞋带有2*n的端点:
先 任选2个端点有 C( 2*n , 2 ) 即 n * ( 2*n - 1 ) 个,但是这里面含有来自一条鞋带的情况,减去n中,所以符合条件的有 n * ( 2*n - 1 )-n= 2*n * (n-1)种,故而概率为:(2*n * (n-1))/( n * ( 2*n - 1 )) 种
这是一次的,还需要继续执行n-1次。
#include<bits/stdc++.h>
int main()
{
int i,n;
double ans;
while(~scanf("%d",&n))
{
ans=1;
for(i=0;i<n-1;i++)
{
ans*=(double)2*(n-1-i)/(2*n-1-2*i);
}
printf("%.6lf\n",ans);
}
return 0;
}