美文网首页
2020-06-28 约瑟夫问题

2020-06-28 约瑟夫问题

作者: JalorOo | 来源:发表于2020-06-28 22:55 被阅读0次
#include <cstdio>
#include <iostream>

#define SIZE 105
using namespace std;

int read(){
    int x = 0, f =1;
    char c = getchar();
    while (c<'0'||c>'9') {
        if (c=='-') {
            f = -1;
        }
        c = getchar();
    }
    while (c>='0'&&c<='9') {
        x = x*10 + c - '0';
        c = getchar();
    }
    return x*f;
}

int queue[SIZE];

int main(){
    int n = read(),m = read();
    int count = 0;
    int step = 1;
    for (int i = 1; count!=n;) {
        if (i>n) {
            i = 1;
        }
        if (step>m) {
            step=1;
        }
        if (queue[i]==1) {
            //cout<<"p:"<<i<<"跳"<<endl;
            i++;
            continue;
        }
        if (step==m) {
            printf("%d ",i);
            queue[i]=1;
            count++;
        }
        //cout<<"p:"<<i<<" "<<step<<endl;
        i++;
        step++;
    }
    return 0;
}

相关文章

  • 2020-06-28 约瑟夫问题

  • 约瑟夫问题

    今天看了一下约瑟夫问题,嗯,感觉自己智商欠费:( 还是来总结下好啦~ 问题 约瑟夫是犹太军队的一个将军,在反...

  • 约瑟夫问题

    题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下...

  • 约瑟夫问题

    要是你怎么制定游戏规则? 现在有前面15个好人和后面15个坏人,他们围成一圈。现在从第一个好人开始,数到第n个人就...

  • 约瑟夫问题

    问题来源 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephu...

  • 约瑟夫问题

    源文件josephus.c

  • 约瑟夫问题

    约瑟夫问题 一、数组解法 二、循环队列 三、数学解法

  • 约瑟夫问题

    一、约瑟夫问题介绍 1、约瑟夫问题原题:n个小孩子手拉手围成一个圈,编号为k(1 <= k <= n )的人从1开...

  • 约瑟夫问题

    找到首节点、创建一个节点记录遍历当前节点的前一个节点、创建一个计数器,当计数器的值为3的时候,将该节点从链表中移除...

  • 约瑟夫问题

    大家自行百度下约瑟夫问题,这里用golang+单向循环链表的方式解决约瑟夫问题,下面先提供一下代码: func (...

网友评论

      本文标题:2020-06-28 约瑟夫问题

      本文链接:https://www.haomeiwen.com/subject/pvogfktx.html