约瑟夫问题
来源:互联网 发布:排序算法有几种 编辑:程序博客网 时间:2024/06/06 14:20
约瑟夫问题
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
n个人想玩残酷的死亡游戏,游戏规则如下:
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
输入
输入n和m值。
输出
输出胜利者的编号。
示例输入
5 3
示例输出
4
提示
第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:2被杀
#include <stdio.h>#include <stdlib.h>struct node{ int data; struct node *next;};int main(){ int n,m,i; struct node *head,*p,*q,*tail; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL; tail=head; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) { p=(struct node*)malloc(sizeof(struct node)); p->data=i; p->next=NULL; tail->next=p; tail=p; } tail->next=head->next; for(i=1,p=head;;i++,head->next=p) {if(n==1)break; if(i%m==0) { q=p->next; p->next=q->next; free(q);n--; }else p=p->next; } printf("%d",p->data); return 0;}
0 0
- 约瑟夫问题、约瑟夫环
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- volatile关键字
- OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)
- 自定义Actionbar样式
- 泰勒级数及其应用
- TortoiseGit安装教程
- 约瑟夫问题
- iOS事件拦截处理
- hdu 1081 To The Max
- linux的wget命令
- 自定义QtCreator添加Ogre新建模板
- 编译时MSIL注入--实践Mono Cecil
- 显示元素布局
- 面试题 -- 从尾到头 反向打印链表
- 给for()循环一锤定音的回复!