约瑟夫问题的实现
2018-01-02 15:50
204 查看
n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下一个人又从1开始报数,如此循环,直到只剩最后一个人时,该人即为胜利者。例如当n=10,k=4时,依次出列的人分别为4、8、2、7、3、10,9、1、6、5,则5号位置的人为胜利者。给定n个人,请你编程计算出最后胜利者标号数。(要求用单循环链表完成。)Description第一行为人数n;
第二行为报数k。Input输出最后胜利者的标号数。Output
Sample Input
Sample Output注意特殊情况,比如输入如下:
1
1
输出应该为1.
第二行为报数k。Input输出最后胜利者的标号数。Output
12345 | 10 4 |
123 | 5 |
1
1
输出应该为1.
#include <iostream> using namespace std; int main(){ int n,m,s=0; cin>>n; cin>>m; for(int i=2;i<=n;i++){ s=(s+m)%i; } cout<<s+1; return 0; }
相关文章推荐
- 约瑟夫问题C++实现
- “约瑟夫问题”实现代码
- 约瑟夫问题的循环单链表实现
- 利用模板类生成的循环单链表实现约瑟夫问题。
- 用单链表解决约瑟夫问题 C语言实现
- 丢手帕问题 (约瑟夫问题)Java实现
- 数组实现的约瑟夫问题(Java)
- 约瑟夫问题java语言实现代码
- 利用循环链表实现约瑟夫问题的求解
- 约瑟夫问题程序实现
- 自己用java代码实现的:“约瑟夫”问题
- 约瑟夫问题(数组实现)
- 利用双向链表实现约瑟夫问题
- 约瑟夫问题的数组实现
- 约瑟夫问题的JAVA实现
- 从约瑟夫问题的递归实现的问题说起
- 约瑟夫问题的数组实现
- 约瑟夫问题的实现
- [导入]编写程序实现约瑟夫(Josephu)问题(C)
- 约瑟夫(Josephus)问题的实现