首页 > 其他分享 >约瑟夫问题

约瑟夫问题

时间:2024-09-13 19:22:57浏览次数:4  
标签:输出 出圈 10 int 样例 约瑟夫 问题 数组

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

输入格式:

输入两个整数 n和m,1\leqm,n\leq100。

输出格式:

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

输入样例:10 3

输出样例:3 6 9 2 7 1 8 5 10 4

这题最简单的方法就是定义一个一维数组,数组[i]的i就是节点的值,而数组[i]的值是下一个节点。

#include<bits/stdc++.h>
int nodes[150];
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n-1;i++) nodes[i] = i+1;  //nodes[i]的值就是下一个节点
    nodes[n] = 1;                            //循环链表:尾指向头
    int now = 1,prev = 1;                    //从第一个节点开始
    while((n--)>1){
        for(int j=1;j<m;j++){                //数到m,停下
            prev = now;                      //下一个节点
            now = nodes[now];
        }
        printf("%d ",now);                
        nodes[prev] = nodes[now];            //跳过now节点,即删除now    
        now = nodes[prev];                   //新的now节点
    }
    printf("%d ",now);                      
    return 0;
}

标签:输出,出圈,10,int,样例,约瑟夫,问题,数组
From: https://blog.csdn.net/2301_80225641/article/details/142215139

相关文章

  • 2024Mysql And Redis基础与进阶操作系列(7)作者——LJS[含MySQL 聚合、数学、字符创、日
    目录MySQL函数1.聚合函数 格式补充 示例将所有员工的名字合并成一行指定分隔符合并指定排序方式和分隔符2.数学函数(即用即查,重在融会贯通与运用)3.字符串函数(即用即查,重在融会贯通与运用)4.日期函数(即用即查,重在融会贯通与运用)5.控制流函数(即用即查,重在融会贯通与运用)if逻辑判......
  • 百度扩容常见问题及解决办法分享
    文章目录概要一:不开通SVIP直接扩容二:扩容多少合适?是否可以无限扩容?三:扩容过程中速度很慢的原因?四:文件扫描卡顿问题五:占位符不小心被删除怎么办?六:爆盘后的处理方式七:封号后的应对方法八:占位符文件夹自动移动问题九:扩容空间是否永久存在?概要百度扩容常......
  • enrollmentapi.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个enrollmentapi.dll文件(挑选合适的版本文件)......
  • EmbeddedBrowserWebView.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个EmbeddedBrowserWebView.dll文件(挑选合适的......
  • GROUPBY 和开窗函数执行顺序的问题
    SELECTseller_idFROM(SELECTseller_id,RANK()OVER(ORDERBYSUM(price)DESC)ASrFROMSalesGROUPBYseller_id)sWHEREs.r=1;作者:SunnyCCCh链接:https://leetcode.cn/problems/sales-analysis-i/solutions/868818/partition-by-he-group-by-de-shi-yong-qu-n......
  • 《Civilization: Beyond Earth》启动失败?《文明太空》msvcr110.dll问题解决方案大放送
    当您在尝试启动《文明:太空》(Civilization:BeyondEarth)时遇到“找不到msvcr110.dll”或“msvcr110.dll缺失”的错误提示,这意味着您的计算机上缺少或损坏了MicrosoftVisualC++2012运行时库中的一个关键组件。msvcr110.dll是许多基于C++开发的游戏和应用程序正常运行所必需的......
  • 完全解决git clone超时和git子模块无法下载问题
    1.解决gitclone连接超时的问题国内可用的镜像网站有:https://github.com.cnpmjs.org#服务器位于香港https://gitclone.com#服务器位于杭州https://doc.fastgit.org#服务器位于香港例如:将gitclonehttps://github.com/XXXXX修改为gitclonehttps://gi......
  • Thinkpad C13 Yoga Linux声卡驱动问题解决方案等
    ChromebookMorphius:ThinkpadC13Yoga与linux这本子做工真不错,全铝触摸屏,360翻折,还有usi笔槽。续航也很长,能连续用8个小时。安装linuxcoolstar.org,请。如果运行那个脚本有困难(网络问题),你可以尝试打开那个脚本看看biosrom是从哪里下载的。手动下载后用脚本里的flashrom那......
  • 主从复制断开连接问题
    跳过复制失败的错误直接跳过当前事务##GTID模式下,通过以下命令解决STOPSLAVE;SETGTID_NEXT='xxxxxx:yyy';-----设置需要跳过的gtideventBEGIN;COMMIT;SETGTID_NEXT='AUTOMATIC';STARTSLAVE;##非GTID模式下,可以通过下面的命令来解决stopslave;setsql_sla......
  • 如何在 macOS 上使用 Hiddify 轻松解决 vpn 连接问题
    **概述:**Hiddify是一款功能强大的工具,旨在简化VPN连接的配置和管理。在macOS系统上,Hiddify提供了一种简便的方法来解决科学上网问题,使得用户能够轻松实现安全的网络访问。以下是使用Hiddify实现vpn连接的详细步骤和说明。**步骤1:下载和安装Hiddify**1.**下......