解说 http://poj.org/problem?id=3517 n个人,编号为1~n。每次从1開始数,数到m的人出圈。最后一个出圈的人的编号。 f[1] = 0; for(int i = 2; i <= n; i++) { f[i] = ( f[i-1] + m)%i; } printf("%d ...
分类:
其他好文 时间:
2017-06-08 16:37:26
阅读次数:
135
约瑟夫环问题:50个人围成一圈,数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少? 思路例如以下: 1)首先,把数据填充到数组或链表中。 2)用一个while循环进行出圈。直到仅仅剩下一个元素留下。 代码例如以下: package cn.wuhan.unit7; import java.u ...
分类:
其他好文 时间:
2017-06-01 16:51:45
阅读次数:
157
Description 佳佳和幼儿园里的小朋友经常一起玩一个游戏:N个小朋友坐成一圈,从第一个小朋友开始报数,从1开始依次报,每个报到M的小朋友要起来表演节目,然后那个小朋友从圈里出去,接下来的小朋友继续从1开始。直到只剩下最后一个小朋友。佳佳一点也不喜欢自己表演,所以他想知道的是,他坐在哪个位置, ...
分类:
其他好文 时间:
2017-05-31 18:56:24
阅读次数:
171
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。 稍微简化一下。 问 ...
分类:
其他好文 时间:
2017-05-31 16:39:43
阅读次数:
166
1、 约瑟夫环问题的设计与实现 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中, 39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3 人该人就必须 ...
分类:
其他好文 时间:
2017-04-28 20:34:31
阅读次数:
173
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27957407题目描写叙述:每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为JOBDU的资深元老,自然也准备了一些小游戏。当中,有个游戏是这种:首先,让 ...
分类:
其他好文 时间:
2017-04-23 16:55:44
阅读次数:
317
约瑟夫问题大致描述:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列,求最后一个出列人的编号。 算法1:模拟 链表维护每个人的相对位置,每次模拟报 ...
分类:
其他好文 时间:
2017-04-08 18:27:54
阅读次数:
160
以下摘自:http://blog.163.com/soonhuisky@126/blog/static/157591739201321341221179/ http://blog.csdn.net/haoni123321/article/details/7178748 为了讨论方便,先把问题稍微改变 ...
分类:
其他好文 时间:
2017-04-05 01:28:24
阅读次数:
216
首先让我们引入一个公式:f(n,k)=(f(n-1,k)+k)%n 约瑟夫环 这篇文章讲得很好。。 我稍微谈谈自己的看法。 这其实就是一个递推的过程: 首先f(n, k)表示的是n个人,数到k的人退出游戏;然后这个公式 f(n-1,k)=f(n,k)-k>=0?f(n,k)-k:f(n,k)-k+n ...
分类:
其他好文 时间:
2017-04-02 13:52:06
阅读次数:
156
约瑟夫环问题: package com.zb.test; public class Yuesefu { public static void main(String[] args) { //500个人数组 boolean[] b = new boolean[500]; for(int i = 0;i ...
分类:
编程语言 时间:
2017-03-31 00:38:40
阅读次数:
144