约瑟夫环问题
设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。
解题思路
用双重循环走,内循...
分类:
其他好文 时间:
2014-11-12 17:56:49
阅读次数:
180
题意:约瑟夫环的变形,要求寻找到一个杀人循环节m使后半节的坏人先被全部杀光。
直接链表模拟出结果,再打表就行;
代码:(注释的是打表码)
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
/*
int l[30],r[30];
int main()
{
...
分类:
其他好文 时间:
2014-11-10 13:53:16
阅读次数:
181
子问题与原问题........
题意:
有k个坏人k个好人坐成一圈,前k个为好人(编号1~k),后k个为坏人(编号k+1~2k)
现在有一个报数m,从编号为1的人开始报数,报到m的人就要自动死去。问当m为什么值时,可以使得在出现好人死亡之前,k个坏人先全部死掉?
PS:当前一轮第m个人死去后,下一轮的编号为1的人 为 前一轮编号为m+1的人。 前一轮恰好是最后一个人死掉,则下一轮循环回到开...
分类:
其他好文 时间:
2014-11-10 12:11:18
阅读次数:
179
UVA305 - Joseph(数论 + 打表)题目链接题目大意:约瑟夫环问题:n个人围成一圈,每次都淘汰第m个人,问最后一个幸存下来的人的编号。这题的意思有点不一样,它规定前面的k个人是好人,后面的k个人是坏人(2 ? k形成环)。问最小的m是多少,可以先把后面的k个坏人淘汰再淘汰好人。解题思路:...
分类:
其他好文 时间:
2014-11-08 22:08:46
阅读次数:
210
1.今天基本上上课是复习以前的哦
作业约瑟夫环,30个人围成一圈,从一个人开始数数1,下一个人数 2,数到9的就( ^_^ )/~~拜拜,出局,后面一个人继续数1.。。。。问剩下15个人都是基督徒吗?额……不对……剩下15个人都站在什么位置。用一个数组就解决了……初始化都是0,出局的就赋值1,循环到1的时候不计数,每9个0,最后一个0就变成1,直到出局15人。
package com.lovo...
分类:
编程语言 时间:
2014-11-03 22:39:20
阅读次数:
219
12模拟链表,约瑟夫环。。来自一个失败的题意理解。。var a,b:array[0..10] of longint; n,i,t,k,j,p,m:longint;begin //readln(n); n:=10; for i:=1 to n do a[i]:=i; for i:=1 to...
分类:
其他好文 时间:
2014-11-01 06:16:12
阅读次数:
225
问题来历:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报...
分类:
其他好文 时间:
2014-10-29 18:58:03
阅读次数:
183
1、约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列.#include #include #include #inc...
分类:
其他好文 时间:
2014-10-16 16:17:12
阅读次数:
325