约瑟夫环:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。...
分类:
编程语言 时间:
2015-01-19 17:22:24
阅读次数:
450
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人開始报数,数到m的那个人出列;他的下一个人又从1開始报数,数到m的那个人又出列;依此规律反复下去,直到圆桌周围的人所有出列。C代码例如以下(joseph.cpp):#include#incl...
分类:
其他好文 时间:
2015-01-19 12:10:16
阅读次数:
270
问题
猴子选大王,假设有M个猴子围成一圈,从1开始报数,数到N的猴子退出,最后剩下的猴子就是大王,
写出程序求出最后是大王的那只猴子最初的位置。
解题分析:
这道题很明显是约瑟夫问题,对于这样的问题,习惯的是对于每个做标记,然后改变标记。
代码:
package cocalar;
import java.util.Scanner;
public class...
分类:
编程语言 时间:
2015-01-14 12:47:23
阅读次数:
186
#includestatic int arr[100];void main(){ void solve(int people,int spacing); int people,spacing,i,j=0; printf("请输入总人数(2-99):"); scanf("%d",&people); p...
分类:
其他好文 时间:
2015-01-09 20:56:01
阅读次数:
278
Description
n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。 请输出最后一个人的编号。
Input
输入n和m值。
Output
输出胜利者的编号。
Sample Input
5 3
Sample Output
4
代码
#i...
分类:
其他好文 时间:
2015-01-08 18:04:30
阅读次数:
152
今天看视频教程无意间看到了一个数3减1的问题,百度之发现叫约瑟夫环问题,于是写了程序,问题大致描述如下:一群带有编号的孩子手拉手围成一个圈报数,开始的孩子数1,他右边数2,再右边数3,数到n的孩子out,接着从下一个孩子开始继续数1,数到n的孩子out,如此循环...问最后留下来的孩子是原来的多少号...
分类:
编程语言 时间:
2015-01-08 07:05:12
阅读次数:
204
有n 个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),
凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
public class Baochu {
public static void main(String[] args) {
Res(10,3);
}
public static void Res(int n,int flag){
List li...
分类:
其他好文 时间:
2015-01-07 22:11:58
阅读次数:
208
Problem C: 士兵报数
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 142 Solved: 68
[Submit][Status][Web
Board]
Description
N个站成一列的士兵和一个整数M,士兵编号是1 --- N。每次士兵按编号从小到大的顺序依次报数,如果报的数不是M的倍数,则该士兵出列。...
分类:
其他好文 时间:
2015-01-04 19:22:13
阅读次数:
271
输入人数n,开始位置s ,间隔数多少个m,输出出局序列
#include
#include
using namespace std;
void Out(int n,int s,int m)
{
vector people;
for (int i=1;i<=n;i++)
{
people.push_back(i);
}
int start = s-1;
int ...
分类:
其他好文 时间:
2015-01-04 10:07:21
阅读次数:
145