约瑟夫问题-循环链表
来源:互联网 发布:c语言 setlocale 编辑:程序博客网 时间:2024/05/16 14:53
有M个人,其编号分别为1-M。这M个人按顺序排成一个圈(如图)。现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人出列为止
input:
输入只有一行,包括2个整数M,N。之间用一个空格分开
output:
输出只有一行,包括M个整数
input:
8 5
output:
5 2 8 7 1 4 6 3
分析:简单模拟,本题也可以使用数学算法具体请参考http://blog.csdn.net/bobcowwocb/archive/2009/09/08/4532033.aspx
【参考程序】:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
{
int code;
node * next;
};
int n,m,i,j;
int main(void)
{
node * head,* tail,* no,* p2;
no=new node;
no->code=1;
no->next=NULL;
head=tail=no;
scanf("%d%d",&n,&m);
for (i=2;i<=n;i++)
{
no=new node;
no->code=i;
no->next=NULL;
tail->next=no;
tail=no;
}
tail->next=head;
for (i=1;i<=n-1;i++)
{
j=1;
while (j<=m-1)
{
no=no->next;
j++;
}
printf("%d ",no->next->code);
p2=no->next;
no->next=no->next->next;
delete p2;
}
printf("%d/n",no->code);
system("pause");
return 0;
}
- 约瑟夫问题-循环链表
- 循环链表:约瑟夫问题
- 循环链表-约瑟夫问题
- 循环链表--约瑟夫问题
- 用循环链表求解约瑟夫问题
- 循环链表与约瑟夫问题
- 单向循环链表实现约瑟夫问题
- 用循环链表实现约瑟夫问题
- 基于循环链表的约瑟夫问题
- 约瑟夫环问题(循环链表)
- 约瑟夫问题简单实现-循环链表
- C++循环链表实现约瑟夫问题
- 约瑟夫问题(循环链表)
- 单向循环链表—约瑟夫问题
- 约瑟夫问题--循环链表实现
- 约瑟夫问题--list模拟循环链表
- 循环链表 约瑟夫环问题实现
- 循环链表与约瑟夫问题
- 随机函数rand()[c++]
- make和makefile简介
- Creating a Target Linux System
- 字符串和字符串结束标志
- c# XML to Excel
- 约瑟夫问题-循环链表
- 各种数据库连接jdbc的方式
- 迭代与需求演化
- 20090914 _ Oracle 11g中lock的增强
- Flex中如何给DataGrid控件的项目添加一个可编辑TextArea/TextInput,单击控件内的项目时,自动进入编辑状态
- Javascript 弹出式复选框 (JQuery 插件 mulitselector)
- spfa算法 Easy sssp
- TCP/IP模型各层的协议
- 用VC进行COM编程,必须要掌握哪些COM理论知识