约瑟夫问题(Josephus)
2008-06-10 23:49
288 查看
一、问题描述
.......
二、问题分析
.......
三、程序1:基于简单数组
四、程序2:基于循环链表
........
.......
二、问题分析
.......
三、程序1:基于简单数组
// Josephus.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int main() { int n, m;//n参与活动的人数,m计数值 cin >> n >> m; cout << n << " " << m << endl; int* a = new int ; for(int i=0; i<n; ++i) a[i] = i+1;//设置编号 int s = n, k = -1, j = -1; // while(s != 1) //一直传递,直到最后一个人为止 { while(k != m) {//寻找下一个出局者 do{ j = ++j % n; }while(a[j] == 0);//找到下一个参与者 ++k; } cout << a[j] << endl; a[j] = 0;//出局者的编号清为0 k = -1; s -= 1; } cout << "Winner: "; do{ j = ++j % n; }while(a[j] == 0); //最后一个为获胜者 cout << a[j] << endl; delete[] a; return 0; }
四、程序2:基于循环链表
........
相关文章推荐
- 约瑟夫问题(Josephus问题)的递推O(n)解法、循环解法、单循环链表解法
- 3.java类特征(Josephus约瑟夫问题)
- josephus(约瑟夫)问题
- C语言通过双向循环链表解决Josephus(约瑟夫)问题
- 约瑟夫(Josephus)问题
- 约瑟夫(Josephus)问题的求解——利用循环链表
- 约瑟夫(Josephus)问题的实现
- Algorithm Gossip: 约瑟夫问题(Josephus Problem)
- 约瑟夫问题(Josephus Problem)3:谁最后一个出列
- 约瑟夫问题(Josephus Problem)的两种快速递归算法
- Josephus约瑟夫问题及其变种
- 约瑟夫(Josephus)问题
- Josephus问题(约瑟夫问题)链表的实现
- 约瑟夫(Josephus)问题的实现
- 约瑟夫(Josephus)问题
- Josephus problem(约瑟夫问题)
- 约瑟夫问题Josephus problem
- Josephus 约瑟夫 问题
- 【待解惑问题(已解决)】约瑟夫(Josephus)环问题