题目描述
有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
输入
初始人数n
输出
最后一人的初始编号
样例输入
3
样例输出
2
#include
int main()
{
int n,m,i,s=0;
scanf("%d",&n);
m=3;
...
分类:
其他好文 时间:
2014-05-15 01:30:58
阅读次数:
231
题目:n个人编号分别是1,2,3,...,n,围坐在一张圆桌周围,从编号为k的人开始报数,数到m的人出列。然后他的下一个人开始报数,数到m的那个人又出列;依次循环,直到所有人出列。struct
LNode{ int data; LNode *next;};//n为总人数,k为第一个开始报数的人,.....
分类:
其他好文 时间:
2014-05-09 18:01:58
阅读次数:
386
假设下标从0开始,0,1,2 ..
m-1共m个人,从1开始报数,报到k则此人从环出退出,问最后剩下的一个人的编号是多少?现在假设m=100 1 2 3 4 5 6 7 8 9
k=3第一个人出列后的序列为:0 1 3 4 5 6 7 8 9即:3 4 5 6 7 8 9 0 1(*)我们把该式转....
分类:
其他好文 时间:
2014-05-09 08:24:29
阅读次数:
231
《具体数学》通过三个例子来讲递归,分别是:HanoiTower(汉诺塔)、LinesinthePlane(平行中的直线)、JosephusCircle(约瑟夫环问题)这三个例子一直被数学家们反复研究;已知解法都使用递归,大问题化为小问题;都可以用计算机程序来求解;我最近因为考试忙的其实也没看几页,就先把..
分类:
其他好文 时间:
2014-05-09 06:56:00
阅读次数:
270
这题明明是一个简单的类似约瑟夫环的问题,但是由于细节问题迟迟不能得到正确结果,结果比赛完几分钟才改对。。耻辱。代码:#include #include
#include #include #include #define ll long longusing namespace std;#define...
分类:
其他好文 时间:
2014-05-07 17:35:47
阅读次数:
290
【问题描述】
约瑟夫环问题(Josephus)
用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。(约瑟夫环问题 Josephus)
【解题思路】
构建一个循环链表,每个结点的编号为1,2,......,n。每次从当前位置向前移动m-1步,然后删除这个结点。
【C程序代码】
#include
#include
type...
分类:
其他好文 时间:
2014-05-06 19:37:20
阅读次数:
270
问题:
N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,
下一个从1再开始报数,直到所有人都出去
思路:
就是计数,移除,没有太深的思想,直接上代码:
package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**...
分类:
编程语言 时间:
2014-05-01 21:58:20
阅读次数:
393