约瑟夫问题

n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1开始报数,数到 m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。

备注:1≤m,n≤100

输入格式:

输入两个整数 n,m。

输出格式:

输出一行 n个整数,按顺序输出每个出圈人的编号。

输入样例:

在这里给出一组输入。例如:

10 3

输出样例:

在这里给出相应的输出。例如:

3 6 9 2 7 1 8 5 10 4

cpp 复制代码
#include <iostream>
#include <vector>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    vector<bool> isOut(n, false);
    int count = 0;
    int index = 0;

    for (int i = 0; i < n; ++i) {
        count = 0;
        while (count < m) {
            if (!isOut[index]) {
                count++;
            }
            if (count == m) {
                isOut[index] = true;
                cout << index + 1 << " ";
            }
            index = (index + 1) % n;
        }
    }

    return 0;
}
相关推荐
lhjcsubupt6 分钟前
第二十二篇 从随机过程到IMU噪声模型
算法·机器学习·概率论
Shadow(⊙o⊙)8 分钟前
QT常用控件3.0,font字体设置,toolTip提示,focusPolicy焦点定位原则,中型控件StyleSheet样式表。
服务器·开发语言·前端·c++·qt
Shadow(⊙o⊙)10 分钟前
QT常用控件2.0,windowOpacity窗口透明度,Cursor光标设置
开发语言·c++·qt
Lazionr16 分钟前
类和对象(上):走进面向对象编程
c++
神仙别闹20 分钟前
基于C语言处理机调度算法的实现
服务器·c语言·算法
Brilliantwxx20 分钟前
【算法从零到千】【16-23】 二分算法
数据结构·算法
晚风叙码22 分钟前
《C++面向对象进阶:static成员、友元、匿名对象与拷贝优化详解》
c++
j7~22 分钟前
【C++】STL--string类--拆析解剖string以及string类的底层详解(1)
开发语言·c++·ascii编码·string类·auto和范围for
草莓熊Lotso23 分钟前
【Linux网络】深入理解 TCP 协议(二):序号机制、流量控制与连接管理
linux·运维·服务器·网络·c++·tcp/ip
8Qi86 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划