题目:

n个人围成一圈,起始编号为0-n-1。从0开始依次报数,报到m则离开圆圈。

问最后离开的人的编号多少?

分析:

以每个人离开作为一个周期,下一次假设所有人编号变化(其实是映射到)新的编号0-n-2。

这里的映射关系可以通过取模获得:

每次离开一个人,离开前总人数N,m-1的人离开,那么下次编号和上次编号映射关系是:(x-m)%n

因此,可以形成动态规划序列。

答案:

```

package algorithm;/*** @author liuxiang* @version CREATE TIME:21:52 2019/5/9* DESC*/
public class JosephCircle {private int lastNumber(int n){int result = 0;for (int i = 1; i <= n + 1; i++) {result = (result + m)%i;}return result;}
}

````

约瑟环问题(丢手绢)相关推荐

  1. c/c++常用算法(14) -- 经典数据结构(约瑟环夫问题)

    一.简单的约瑟环夫 1.故事描述: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被 ...

  2. 约瑟环的python实现(举例说明)

    题目是: N个人围成一圈报数,报到某一个数m的就出局,问你最后剩下来的人的号码? 网上通用约瑟夫环的算法是: //函数接收n和m,返回最后出圈的是第几个人 /*e.g. yuesefu(5,2)=3 ...

  3. Josephus约瑟环问题

    约瑟环问题描述:n个人有序围成一圈报数,报到M的就退(自)出(杀),再从头开始报数,由此循环,求剩下最后一人的序号. 第一种直觉的想法是弄个list循环: int Josephus(unsigned ...

  4. 约瑟环问题 Java解法

    约瑟环问题: 17世纪的法国数学家加斯帕在<数目的游戏问题>中讲的一个故事,15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法,30个人围 ...

  5. 约瑟环问题(全部代码在本文下方)

    用循环链表编程实现约瑟夫问题,n个人围成一圈,从某人开始报数1,2,.., m,数到m的人出圈,然后从出圈的下一个人(m+1)开始重复此过程,直到全部人出圈,于是得到一个出圈人员的新序列,如当n=8, ...

  6. 约瑟环问题JAVA(数组)

    所有人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长. 请你通过编写程序,求出一组人中的队长是原来第几位同学.(约瑟 ...

  7. Offer 62. 约瑟环(规律问题-递归-中等)

    Offer 62. 圆圈中最后剩下的数字 思路1:⭐ 创建一个下标为 0~n-1的数组 | 当n=5时 nums = [1 1 1 1 1] 代表下标为i的数是否已经被删除⭐ 通过不断(外层设置一个循 ...

  8. 约瑟环c语言,顺序表实现约瑟环的问题,C语言.doc

    计算机科学与工程学院 <算法与数据结构>试验报告[一] 专业班级 10级计算机工程02 试验地点 计算机大楼计工教研室 学生学号 1005080222 指导教师 蔡琼 学生姓名 肖宇博 试 ...

  9. 约瑟夫环(丢手绢问题)

    文章目录 问题描述 思路 代码实现 问题描述 有 1~N 个数字,从 1~m 依次报数,数到 m 的数字要被删掉,求最后剩下的数字是? 思路 第一次报数 第二次报数 1 n-m+1 2 n-m+2 - ...

最新文章

  1. HDU 2018 母牛的故事
  2. C++ limits头文件
  3. 简述python程序执行原理_Python程序的执行原理(1)
  4. 线程池原理与自定义线程池
  5. 计算机休眠怎么唤醒,电脑休眠后,就无法唤醒了?怎么办?快速教你解决这个问题...
  6. 阶梯英语2006年年终大会主持人发言稿
  7. Pycharm远程调试:变量内容加载过慢或不能加载
  8. eclipse导入后将普通项目变为java项目build path,no action avilia
  9. 681_python安装win32com模块
  10. 贴片电阻的功率与封装对照表
  11. 全新英特尔vPro平台,为数智时代保驾护航
  12. 51单片机数码管表白
  13. 字体变形html,SVG文字变形动画特效
  14. 有故事,带项目的flask教程(2)---flask的路由管理
  15. Excel中SEARCH函数的使用方法
  16. 浏览器主页被2345拦截
  17. 怕抢不到演唱会门票?AI帮你做攻略!
  18. linux服务器创建用户
  19. PHP抓取某页面指定内容
  20. 传真故障排除示例--传真CED信号断续导致传真失败

热门文章

  1. 不让三星、LG独美,夏普在IFA 2012推出新型IGZO屏幕
  2. 功能:html5录音
  3. python中办公自动化培训班
  4. 8102年:想回到过去,试着让遗憾继续……
  5. [优秀作品]豪胆商贸公司综合管理系统
  6. rust显卡要求 steam_rust腐蚀游戏配置要求是什么,腐蚀Rust配置要求汇总
  7. java mergecells_jxl操作excle表格中mergeCells中的参数
  8. NVIDIA Jeston (TX1) 系列从入门到入土(一):刷机准备工作
  9. 环小音三分钟讲解黑石塔英雄模式攻略
  10. python bisect_Python实现二分查找与bisect模块详解