约瑟夫问题

简介: 约瑟夫问题

约瑟夫问题

Time Limit: 1000MS Memory Limit: 65536KB

SubmitStatistic

Problem Description

n个人想玩残酷的死亡游戏,游戏规则如下:


n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。


请输出最后一个人的编号。

Input

输入n和m值。

Output

输出胜利者的编号。

Example Input

5 3

Example Output

4

Hint

第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:2被杀

Author

 

#include <stdio.h>
#include <stdlib.h>
struct node
{
    int data;
    struct node * next;
};
int main()
{
   int n, m, i, j;
   struct node *p, *head, *tail, *q;
   head = (struct node *)malloc(sizeof(struct node ));
   tail = head;
   scanf("%d%d", &n, &m);
    for(i = 0; i < n; i++)
    {
       p = (struct node *)malloc(sizeof(struct node ));
       p->data = i+1;
       tail->next = p;
       p->next = head->next;
       tail = p;
    }
    p=head;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
        {
            q = p;
            p = p->next;
        }
        q->next = p->next;
        p = q;
    }
    printf("%d\n", p->data);
    return 0;
}

 


相关文章
|
2月前
|
机器学习/深度学习
约瑟夫环
【10月更文挑战第11天】
81 5
|
2月前
约瑟夫环问题
约瑟夫环
27 0
|
算法 Python
约瑟夫问题
约瑟夫问题
110 0
PTA猴子选大王(约瑟夫环问题)
PTA猴子选大王(约瑟夫环问题)
134 1
|
算法 索引 Python
细究“约瑟夫环”
细究“约瑟夫环”
101 0
【线性表】洛谷P1996 约瑟夫问题
前言 本题来自洛谷P1996. 题目链接:约瑟夫问题 - 洛谷
92 0
|
算法
每日一题之约瑟夫问题
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!
91 0
|
机器学习/深度学习
剑指offer之青蛙跳台阶问题
剑指offer之青蛙跳台阶问题
110 0