1748:约瑟夫问题

news/2025/9/27 18:35:44/文章来源:https://www.cnblogs.com/1a2s/p/19115458

题目

总时间限制: 1000ms 内存限制: 65536kB

描述

约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

输入

每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是:

0 0

输出

对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号

样例输入

6 2
12 4
8 3
0 0

样例输出

5
1
7

题意

有n只猴子围成一圈,顺时针从第1号开始报数,数到m的猴子退出,输入n和m,输出最后一只猴子的编号。

思路

创建一个包含n个点的循环链表,再通过指针遍历链表,数到m时就将当前节点从链表中删除,一直重复这个过程直到链表中只剩下一个节点,这个节点的编号就是猴王的编号。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m;
//定义链表
struct p{int num;//猴子的编号p *next;//指向下一个节点的指针p(){next=NULL;//初始化next为空}
};
void f(int n,int m){//创建头节点p *h=new p();h->num=1;h->next=NULL;p *tmp=h;//用于遍历链表//创建剩余的n-1个节点for(int i=1;i<n;i++){p *t=new p();//创建新节点t->num=i+1;//设置编号tmp->next=t;//连接新节点到链表末尾tmp=tmp->next;//移动tmp到新节点}tmp->next=h;//将链表首尾相连,形成循环//直到只剩一个节点时停止while(tmp->next!=tmp){//当节点的next指向自己时,说明只剩一个节点//移动m-1次for(int i=1;i<m;i++){tmp=tmp->next;//指向下一个节点}//将tmp的next指向下下个节点,跳过第m个节点(删除)tmp->next=tmp->next->next;}//输出最后剩下的猴王编号cout<<tmp->num<<endl;
}int main(){//循环输入,直到遇到0 0while(cin>>n>>m){if(n==0&&m==0) break;//输入0 0时结束程序f(n,m); //调用函数}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做报名统计的网站微门户网站建设

前面两篇文章记录了 Spring IOC 的相关知识&#xff0c;本文记录 Spring 中的另一特性 AOP 相关知识。 部分参考资料&#xff1a; 《Spring实战&#xff08;第4版&#xff09;》 《轻量级 JavaEE 企业应用实战&#xff08;第四版&#xff09;》 Spring 官方文档 W3CSchool Spri…

net网站开发教程简易微网站模板

构造器最大的作用:创建对象. 为什么使用反射创建对象,为什么不直接来new呢? 在框架中,提供给我们的都是字符串. ----------------------------------------------------------- 使用反射创建对象: 步骤: 1);找到构造器所在类的字节码对象. 2):获取构造器对象. 3):使用反射…

安全可信网站营销活动策划方案模板

前言 Python可以用于复杂的数据分析和Web开发项目&#xff0c;还能以极少的代码行数完成令人惊叹的任务。本文将分享25个简短的Python代码示例&#xff0c;用来展示Python编程语言的魅力和效率。 1.列表推导式 Python的列表推导式提供了一种优雅的方法来创建列表。 # 将一个…

完整教程:微论-神经网络的亲情密码,权重矩阵的家庭关系论

完整教程:微论-神经网络的亲情密码,权重矩阵的家庭关系论2025-09-27 18:26 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

Ansible + Docker 部署 Apache Nifi 1.28 单用户集群

Ansible + Docker 部署 Apache Nifi 1.28 单用户集群1. 准备工作 1.1 主机列表IP 主机名 内存(GB) CPU核数 磁盘 操作系统 CPU 架构10.0.0.13 arc-pro-dc01my.registry.com 16 1 500GB CentOS 7.9.2009 x86_6410.0.…

候机的队伍

候机的队伍今天乘机,小朋友们很激动地早早地去排队了。我苦口婆心地教育他们,不需要这么早排队。因为座位都是固定的,而需要早排队的理由只有两个: 1. 带了较多行李,需要早点登机占个位置。 2. 缓解焦虑,早点坐上…

个人网站怎么做支付功能抖音代运营合作协议免费

聚苯乙烯&#xff08;Polystyrene&#xff0c;简称PS&#xff09;是一种常见的合成聚合物&#xff0c;属于热塑性塑料。它是由苯乙烯单体聚合而成的&#xff0c;具有轻质、透明或半透明、电绝缘性好等特点。常见: 包装材料白色泡沫塑料&#xff08;EPS&#xff0c;用于包装、保…

网站推广策划的思路包括哪些内容广州网站建设功能

来源&#xff1a;半导体行业观察摘 要在本项目中&#xff0c;我们提出了一种基于学习的芯片布局方法&#xff0c;这是芯片设计过程中最复杂&#xff0c;最耗时的阶段之一。与以前的方法不同&#xff0c;我们的方法具有从过去的经验中学习并随着时间的推移而不断改进的能力。特别…

Keil uVision5 设置 hex 输出路径,不放Objects目录下

前言全局说明最近从 keil 2 换到 keil5, 新建项目后编译输出的 .hex 文件被放到 Objects目录下,找着不方便。一、说明 1.1 环境: Windows 7 旗舰版二、修改路径 2.1 打开项目设置选项 从工具栏打开或 从菜单里打开2.…

深入解析:【Linux】进程概念(六):进程地址空间深度解析:虚拟地址与内存管理的奥秘

深入解析:【Linux】进程概念(六):进程地址空间深度解析:虚拟地址与内存管理的奥秘pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

深入解析:Metal - 5.深入剖析 3D 变换

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

垃圾收集器G1ZGC详解

垃圾收集器G1&ZGC详解 一、G1 收集器(-XX:+UseG1GC) G1(Garbage-First)是面向多处理器、大内存的服务器级收集器,核心目标是可预测的 GC 停顿时间与高吞吐量平衡。1. 核心特性Region 划分:将 Java 堆划分为最…

菠菜网站怎么做外贸网站该怎么做

控制actor在level中沿着一个spline path运动。 由finterp to 函数的输出数值来控制每一帧actor运动的距离。 从开始位置到spline path的终点的时间&#xff0c;是1/interp speed。假如我们控制actor从开头到终点运动的总时间是1秒&#xff0c;那么 interp speed就传入0.5&#…

Godot Outline

Godot OutlineGodot 4.5 这几天更新了,补全了模板缓冲, 在渲染Depth Buffer时,一般使用D32S8的类似格式。在Godot中,原本Depth Buffer就只渲染了Depth,因此S8的通道没有被使用。Stencil即特定材质可以向这个通道里…

油猴脚本(tampermonkey)离线安装文件下载,带油猴(tampermonkey)插件清单

油猴插件(Tampermonkey)是一款浏览器扩展程序(也称为“用户脚本管理器”),主要是在浏览器中安装和运行自定义脚本,用于修改或增强网页功能。目前支持Chrome、Firefox、Edge、Safari等主流浏览器,基本就是丰富浏…

树在线网页制作网站wordpress目录在哪里

一款博客网站源码 源码软件库 为大家内置了主题 清爽又强大真正的永久可用的一条源码&#xff0c;该版本为整合版本&#xff0c;内置了Joe主题&#xff0c;搭建后直接启用即可~ 安装环境要求&#xff1a; PHP 7.2 以上 MySQL, PostgreSQL, SQLite 任意一种数据库支持&#xff…

海口建网站 模板c 网站开发培训

文章目录 文章介绍下载连接安装教程 文章介绍 安装Qt5.12.2 下载连接 点击官网下载 安装包下载完毕 安装教程 点开设置&#xff0c;添加临时储存库&#xff0c;复制连接“https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/” 点击测试&#xff0…

SentinelOne与MITRE ATTCK企业版2025评估的深度解析

本文深入探讨SentinelOne对MITRE ATT&CK评估体系的立场转变,分析企业级网络安全评估标准的发展趋势,并揭示安全厂商在资源调配与产品路线图之间的战略平衡。文章聚焦于现代网络安全技术演进与实战化评估体系的内…

详细介绍:Docker的介绍

详细介绍:Docker的介绍pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…

详细介绍:【汽车篇】基于深度学习的2D+3D整车漆面外观缺陷检测

详细介绍:【汽车篇】基于深度学习的2D+3D整车漆面外观缺陷检测pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…