题目1356:孩子们的游戏(圆圈中最后剩下的数)
来源:互联网 发布:王侯将相宁有种乎全文 编辑:程序博客网 时间:2024/05/16 12:21
// 设 K_i 为剩余 i 个人时,以刚出去的那个人为0号开始,编号为K的人(他)。
那么在剩余 i+1 个人时,以当时刚出局的人为0号开始,他的编号为T = ((K+M-1)%(i+1)) + 1。
因为 i+1 个人时编号为 ((M-1)%(i+1))+1 个人是 i 人时编号为 0 的刚出局者,第K个加上K就行了。
这样倒推道 i+1 = N 即可
// 其实就是约瑟夫环吧!
#include <stdio.h>
int N, M;int main()
{
while (scanf("%d", &N), N) {
scanf("%d", &M);
int ans = 1, i;
for (i=1; i<N; i++) {
ans = ((ans+M-1) % (i+1)) + 1;
}
printf("%d\n", ans);
}
return 0;
}
0 0
- 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 九度 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 九度_题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 九度 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 九度OJ-题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 九度 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)链表
- 牛客网 | 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- 【46】孩子们的游戏(圆圈中最后剩下的数)
- 孩子们的游戏(圆圈中最后剩下的数)
- Java类代码执行顺序
- 多字节<--->Unicode<--->UTF-8
- 我的博客开通了
- 导入Android包出现Unable to resolve target 'Google Inc.:Google APIs:*'
- linux下mysql忽略大小写
- 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 使用PDO查询mysql避免SQL注入
- android开发案例之使用JSON数据向服务器提交和获取服务器传递的Json数据
- 智力题 - 称12个小球
- 深入解析U_BOOT_CMD宏
- 算法思考---------八皇后
- Longest Valid Parentheses
- reaper的学习笔记
- python之路(1)