【问题描述】
小宸和小松都很想和乐乐在一起,但是乐乐说他只需要一个基友。于是小宸和小松决定
用抛掷硬币的方式来决定谁能成为乐乐的基友。
游戏共有 n局,规则如下:一人先掷,如果掷得正面,则此人获胜,如果是反面则由另
外一人掷,如此交替,直到第一次抛出正面时本局结束,掷得正面者获胜。下一局则由未获
胜的人先掷,规则同上。
由于小宸希望成为乐乐基友的愿望非常强烈,于是找到了聪明的你,请你告诉他,小宸
在第 n局恰好获胜的概率是多少。另外他还告诉你,第一局是由小宸先掷。
【输入数据】
一个整数 n,含义如题目描述。
【输出数据】
一个最简分数,形如 a/b,表示小宸在第 n局恰好获胜的概率。
【样例输入】
2
【样例输出】
4/9
【数据范围及约定】
对于 50% 的数据:1≤n≤16;
对于 100%的数据:1≤n≤32。
首先對於題目描述表示強烈抨擊!
再說解題方法:
這道題是一個很簡單的數論題。
首先將n = 1時的概率求出來。
如圖所示,所以:
然後可得遞推式:
通過觀察可知:
於是得到了化簡的通項公式。
Accode:
#include <cstdio>
int main()
{
freopen("friend.in", "r", stdin);
freopen("friend.out", "w", stdout);
int n; scanf("%d", &n);
long long a, b = 3, tmp;
for (int i = 1; i < n; ++i) b += (b << 1);
printf("%I64d/%I64d", (b >> 1) + (n & 1), b);
return 0;
}