分析
递推:对于第i根鞋带 前面的i-1根鞋带已经连成了1个环 并且已经求得概率为
这跟鞋带加入原来的环有i个位置 而首尾是相同的 所以实质上是i-1个位置
每个位置有2种系法 有2(i-1)种情况连1个环
而总的情况数还要加上第i根鞋带单独成环 加上1
乘法原理 用这个求得的概率[ 2*(i-1)/(2*(i-1)+1) ]乘上前i-1根鞋带连成了1个环的概率
而只有一根鞋带时 一定只有一个环 概率为1
代码
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int N;
double ans=1;
scanf("%d",&N);
for(int i=2;i<=N;i++)
ans=ans*2*(i-1)/(2*(i-1)+1);
printf("%lf\n",ans);
}