约瑟夫问题

专题·约瑟夫问题集锦【including 约瑟夫问题,约瑟夫环,反约瑟夫问题,好人坏人…… 初见安~这里是约瑟夫专题 & 数论专题(5)~【详见数论专栏 不要小瞧约瑟夫哦~【预防针 //题目来自于某入门OJ 一、出队顺序 Description 有M个人,其编号分别为1-M。这M个人按顺序排成一个圈。现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人出列为止。 Input ... 阅读详情
 有10个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。


#include "stdafx.h"
#include<iostream>
using namespace std;
int n;
int main()
{
    int a[100],m,k,i;


cout<<"输入圈内人数:n=";
cin>>n;


for(i=0;i<n;i++)
a[i]=i+1;


i=0;
m=0;
k=0;
while(m<n-1)


{
if(a[i]!=0) 

   k++;
        
if(k==3) 
{
a[i]=0; k=0;  m++;
}


i++;


if(i==n)  i=0;
}




for(i=0;i<n;i++)
if(a[i]!=0)
cout<<"最后剩下的是"<<a[i]<<"号"<<endl;


return 0;
}









约瑟夫问题的数组解法 约瑟夫问题的数组、动态链、静态链解法。 阅读详情

相关推荐

约瑟夫问题MATLAB代码

据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越...

qq_37116150的博客 2921

报数模拟。有n 个人围成一个圈,从1到n 按顺序排好号。然后从第一个人开始顺时针 报数(从1到3报数) ,报到3的人退出圈子后,后面的人继续从1到3报 数,直到留下最后一个人游戏结束,问最后留下的是

n个人围城一圈,把一个人看成一个节点,n个人采用链接方式,即每一个节点有一个前继节点和后继节点,每一个节点有一个指针指向下一个节点,最后一个节点的指针指向第一个节点。当m个人出列时,将m的前继节点指针指向m节点的后继指针节点,即把m节点驱出循环链。设立指针j指向当前节点,则移动节点过程为j=a[i],当数到m时,m节点出链,则a[j]=a[a[j]]。3.沿链移动指针,每移动一个节点,计数器的值加一,当计数器的值为m时,则m节点出链,计数器的值置为1.输出描述:输出最后留下的人,原来的编号是多少?

m0_72914941的博客 852

有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列

有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列。然后从下一个孩子继续报数,数到第3个小孩又令其出列,如此直到所有的孩子都出列。求小孩出列的先后顺序。

有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。

package com.zz; import java.util.Vector; public class test1 { /** * @param args */ public static void main(String[] args) { Vector a = new Vector(); for(int i=1; i<=10; i++)

超纯的小白兔 4519

丢手帕问题 * 说明: m个小孩围 坐一起.从第一个小孩从1开始数数.数到n的小孩出局.下一个小孩子从1开始数.问最终小孩出列的顺序.

功能: 丢手帕 说明: m个小孩围 坐一起.从第一个小孩从1开始数数.数到n的小孩出局.下一个小孩子从1开始数.问最终小孩出列的顺序.

招行收款通SM2加密解密全流程解析:PHP开发者必看

本文详细解析了招商银行收款通服务中SM2加密解密的完整流程,特别针对PHP开发者提供了从密钥管理到签名验签的实战指南。涵盖国密算法基础、PHP环境配置、密钥安全存储及生产环境优化方案,帮助开发者快速实现高安全性的支付系统集成。

weixin_30632089的博客 651

有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 05 日 * 版 本 号:v1.0 * * 输入描述: * 问题描述:有n个人围成一圈,顺序排

得之坦然,失之淡然 4万+

十一、学生信息管理系统(PyQt5+MySQL+PyMySQL模块实现)

学生信息管理系统(PyQt5+MySQL+PyMySQL模块实现)

ungoing的博客 8991

约瑟夫问题详解

约瑟夫问题: 有n个人,编号为1~n,从第一个人开始报数,从1开始报,报到m的人会死掉,然后从第m+1个人开始,重复以上过程。在死了n-1个人后,问最后一个人的编号是? 暴力 题目传送门 暴力都想不到就真是让人折服了。 暴力的话大模拟即可,不是重点,贴份代码就算了。 #include <cstdio> int n,k; struct node{ int x; node *ne...

a_forever_dream的博客 3万+

(精读)揭示多元时间序列的高阶组织

时间序列分析已经被证明是刻画生物学、神经科学和经济学中的一些现象以及理解它们的一些潜在动力学特征的有力方法。尽管针对多元时间序列的分析已经提出了很多方法,但大多数方法都忽略了非成对相互作用对涌现动力学的影响。在这里,我们提出了一个新的框架来刻画多元时间序列中高阶依赖关系的时间演化。利用网络分析和拓扑学,我们表明,与传统的基于成对统计的工具不同,我们的框架鲁棒地区分了耦合混沌映射的各种时空状态,包括混沌动力学阶段和各种类型的同步。

weixin_53406075的博客 2410

RT-Thread学习笔记(5):SPI驱动框架分析

1、两个设备模型 在spi驱框架中,一般会自己初始化一个总线设备(rt_spi_bus),当我们通过挂载后,会相应注册一个从设备(rt_spi_device)。 1、总线设备模型 struct rt_spi_bus { struct rt_device parent; rt_uint8_t mode; const struct rt_spi_ops *ops; struct rt_mutex lock; struct rt_spi_device *owner; };

BLBQ962464的博客 1万+

约瑟夫问题——C语言实现

约瑟夫问题 约瑟夫问题简述 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后 [1] 结果+1即为原问题的解。 代码实现 #include <stdi...

可爱的LYF的博客 1万+

STM32与HT7038的高精度电能计量系统设计与实现

本文详细介绍了基于STM32微控制器与HT7038三相电能计量芯片的高精度电能计量系统设计与实现。文章从项目选型出发,深入剖析了硬件电路设计、SPI驱动开发、芯片校准及系统集成等关键环节,为智能电表、能源监控等应用提供了高性价比且稳定的国产化解决方案。

pytorch8learner的博客 389

约瑟夫问题 C++求解

约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,其表述方式有多种,较典型的一种是: 有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。 解法一:数组求解 根据输入的n值确定数组的长度...

MilkLeong的博客 1万+

三维Copula建模进阶:从对称、嵌套到Pair-Copula(C-Vine/D-Vine)到底怎么选?

本文深入探讨三维Copula建模的进阶策略,包括对称Archimedean、嵌套结构和Vine Copula(C-Vine/D-Vine)的选择方法。通过对比数学特性、计算复杂度和实际应用案例,提供了一套针对金融风险分析等场景的决策框架,帮助分析师根据数据特征选择最优模型。

weixin_27038701的博客 436

2026.1.11:WSL2中Ubuntu发行版的完全卸载干净指南

摘要:本文详细介绍在WSL2中彻底卸载Ubuntu发行版的步骤。首先通过wsl -l -v确认安装的发行版,使用wsl --terminate终止运行后,推荐使用wsl --unregister命令完全删除发行版(包括所有数据)。还可手动检查残留文件位置(如%LOCALAPPDATA%目录),并提供了备份建议(使用wsl --export)。最后说明验证卸载的方法和可选的高级重置操作。整个过程确保彻底清理相关数据并释放磁盘空间。(

拥抱具身智能,昇腾Ascend C 2383

详解约瑟夫问题

约瑟夫问题(Josephus problem)是一个在是一个出现在计算机科学和数学中的问题。有时也称为约瑟夫斯置换。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”。 如果有参加NOI/NOIP(现称CSP)的同学们,就会很清楚一个事实:约瑟夫问题绝对是你童年的阴影/之一/它以复杂,变幻莫测,算法简单/复杂/, ...

Coduck的博客 7033

华为OD新系统机试真题-文章特征提取

华为OD机试新系统真题 【文章特征提取】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【文章特征提取】

qq_45776114的博客 729

Bailian2746 约瑟夫问题【 约瑟夫问题】

2746:约瑟夫问题 总时间限制: 1000ms 内存限制: 65536kB 描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。 输入 每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 ...

海岛Blog 916

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

约瑟夫环问题

约瑟夫环问题@(算法)约瑟夫环问题 问题描述与解决 约瑟夫问题背后的故事 问题描述与解决Josephus的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋友并不想遵从,Josephus

小小Lim的Code世界 909

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

约瑟夫环问题,约瑟夫问题II

约瑟夫环问题,约瑟夫问题II约瑟夫环问题问题描述实例描述代码测试约瑟夫问题II问题描述实例代码测试 约瑟夫环问题 问题描述 一个桌子前坐了n个人并编号,从第1个人开始报数,当报数到x时,报数结束杀掉此人,再从死掉的这个人的下一个人开始重新报数。直到剩下最后一个人。 实例描述 当有6个人,每次报数5的人死掉时,则死掉的人的顺序为5,4,6,2,3,则输出1。 代码 测试 约瑟夫问题II 问题描述 一个桌子前坐了n个人并编号,从第1个人开始报数1,2,1,2,报到2的人全部杀掉。从第一圈报数的最后一个人开始报数

weixin_52793965的博客 708

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用队列解决约瑟夫环问题

什么是约瑟夫环问题约瑟夫问题,有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.据说著名犹太历史学家 Jo...

czhf0002的博客 3762
上一篇: 约瑟夫问题
下一篇: 625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?还有一个!该数是:_____________...
S孙大宝
博客等级 码龄15年 55粉丝 65原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值