import java.util.Scanner;class Person{ String name; int seqno; Person(String _name, int _seqno){ name = _name; seqno = _seqno; ...
分类:
编程语言 时间:
2015-04-19 11:29:52
阅读次数:
172
约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题。 什么是约瑟夫环? “约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;.....
分类:
编程语言 时间:
2015-04-18 21:49:24
阅读次数:
121
1.已知n个人(n>=1)围坐一圆桌周围,从1开始顺序编号。从序号为1的人开始报数,顺时针数到m的那个人出列。他的下一个人又从1开始报数,数到m的那个人又出列。依此规则重复下去,直到所有人全部出列。请问最后一个出列的人的编号。Node* RemoveList(Node* head, int len)...
分类:
其他好文 时间:
2015-04-16 17:29:42
阅读次数:
214
约瑟夫环的数组实现 1 /*约瑟夫环的实现*/ 2 #include 3 #include 4 #include 5 6 #define SIZE 10 7 #define STEP 5 8 9 void initArray(int arr[SIZE]); 10 void jo...
分类:
编程语言 时间:
2015-04-11 20:40:09
阅读次数:
182
Linux下#include #include int main(){ int n,m,i,s = 0; printf("Entr N, M = "); scanf("%d%d", &n, &m); for(i=2; i<=n; i++) { s = (s+m) % i; } printf("...
分类:
编程语言 时间:
2015-04-07 11:34:35
阅读次数:
148
网上说法很多。。这里简单描述一下。
一群人围成一个圈,每个人都有自己的密钥。。出列后用其密钥做下一个循环出队数。
源代码
#include
#include
typedef struct _node{
int ord;//order
int key;//key
struct _node* next;
}Node,*pNode;
pNode Create(){
int k,o=1;
...
分类:
其他好文 时间:
2015-04-04 22:37:45
阅读次数:
166
斐波那契数列的递归实现:
public int fn(int n) {
if (n == 1 || n == 2)
return 1;
return fn(n-1)+fn(n-2);
}
非递归写法:
public int fn(int n) {
int a =1;
int b = 1;
int tmp;
if (n == 1 || n == 2)
return 1;
f...
分类:
编程语言 时间:
2015-04-01 15:26:53
阅读次数:
146
一个约瑟夫环问题问题开始: 罗马人攻占了乔塔帕特,41个人藏在一个山洞躲过了这场浩劫。这41个人中,包括历史学家Josephus(约瑟夫)和特的一个朋友。剩余的39个人为了表示不向罗马人屈服,决定集体自杀。大家决定了一个自杀方案,所有这41个人围成一个圆圈,由第一个人开始顺时针报数,每报数为3的人就...
分类:
其他好文 时间:
2015-03-31 19:29:56
阅读次数:
160
1. 问题描述 一个旅行社要冲n个旅客中选出一名旅客,为他提供免费的环球旅行服务。旅行社安排这些旅客围城一个圈,从帽子中取出一张纸条,用上面写的正整数m(m> n; cout > m; for(int i=1 ; i<n ; i++) s = (s+m)%n; ...
分类:
其他好文 时间:
2015-03-14 22:56:04
阅读次数:
120
首先阐述一下问题:n个人(编号0—n-1)围成一圈,从1开始报数,报到m的人出列,然后从出列的人的下一个人开始,从1开始报数,报到m的人出列,求出最后幸存的那个人的原始编号。如果单纯的是模拟整个游戏过程的话,实现起来并不难。今天我学习到的是另一种算法。举个例子,第一轮以后,假设被淘汰的人编号是k-1...
分类:
编程语言 时间:
2015-03-12 23:57:37
阅读次数:
186