【數列遞推】爭奪基友
来源:互联网 发布:hp打印机端口设置 编辑:程序博客网 时间:2024/05/16 07:57
【问题描述】 小宸和小松都很想和乐乐在一起,但是乐乐说他只需要一个基友。于是小宸和小松决定用抛掷硬币的方式来决定谁能成为乐乐的基友。 游戏共有 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;}
- 【數列遞推】爭奪基友
- Mastering Search Analytics [startup] [incomplete]
- android中 检查 网络连接状态的变化,无网络时跳转到设置界面
- 网站作业布置批改功能重写基本完成,记录一下
- jQuery 对象和 DOM 对象的相互转换
- nios ii 之 LCD 1602
- 【數列遞推】爭奪基友
- 测试经理能力要求
- 做完一个小任务的总结
- 由于嵌入式项目版本较多不好管理,于是笔者写了一个“版本小助手”,和大家分享一下,附上程序
- Windows程序设计__孙鑫C++Lesson10《图形绘制及各类对话框》
- Ultimate Pentesting VM
- where 1=1用处
- 多线程与WPF 4.5
- Linux文件查找命令find,xargs详述