约瑟夫问题

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;
}
相关推荐
多加点辣也没关系8 小时前
数据结构与算法|第十三章:递归与分治
数据结构·算法
梦梦代码精8 小时前
LikeShop 是否安全可靠?——从架构设计到数据表现的系统性分析
数据结构·团队开发·安全性测试
m0_629494738 小时前
LeetCode 热题 100-----21.搜索二维矩阵 II
数据结构·算法·leetcode
杜子不疼.8 小时前
【C++ 在线五子棋对战】 - 项目介绍与环境搭建
开发语言·c++
Hical618 小时前
C++20 实战心得:现代 C++ 真正成熟的一代
c++·开源
平行侠8 小时前
018二进制GCD(Stein算法)- 用位运算代替除法的最大公因数
数据结构·算法
月疯9 小时前
卡尔曼滤波的数学计算流程
算法
黎阳之光9 小时前
黎阳之光:深耕视频孪生核心领域 构筑数字孪生全域数智新标杆
大数据·人工智能·算法·安全·数字孪生
sbjdhjd9 小时前
2026年第十七届蓝桥杯大赛软件赛省赛 Python 大学 B 组 A-F 题 完整题解(小白友好版)
python·算法·职场和发展·蓝桥杯·pycharm·开源·动态规划
努力努力再努力wz9 小时前
【Qt 入门系列】从应用场景到开发环境:建立对 Qt 的第一层认知
c语言·开发语言·数据库·c++·b树·qt·缓存