链表之单链表约瑟夫问题(二)

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

  约瑟夫环:递归算法

  假设下标从0开始,0,1,2 .. m-1共m个人,从1开始报数,报到k则此人从环出退出,问最后剩下的一个人的编号是多少?

  现在假设m=10

  0 1 2 3  4 5 6 7 8 9    k=3

  第一个人出列后的序列为:

  0 1 3 4 5 6 7 8 9

  即:

  3 4 5 6 7 8 9 0 1(*)

  我们把该式转化为:

  0 1 2 3 4 5 6 7 8 (**)

  则你会发现: ((**)+3)%10则转化为(*)式了

  也就是说,我们求出9个人中第9次出环的编号,最后进行上面的转换就能得到10个人第10次出环的编号了

  设f(m,k,i)为m个人的环,报数为k,第i个人出环的编号,则f(10,3,10)是我们要的结果

  当i=1时,  f(m,k,i) = (m+k-1)%m

  当i!=1时,  f(m,k,i)=

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

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

相关文章

这,像极了爱情!

全世界只有3.14 % 的人关注了爆炸吧知识特别的爱给特别的你古希腊数学家普罗克洛斯说过:“数学就是这样一种东西:她提醒你有无形的灵魂,她赋予她所发现的真理以生命;她唤起心神,澄净智慧;她给我们的内心思想…

使用C#为MSTest测试项目实现自定义断言

前言MSTest测试项目为我们实现了断言类Assert,用于报告代码行为的正确性,比如:var result Calculator.Add(1,2); Assert.AreEqual(3, result);虽然常用的断言方法已经可以工作。但是,我们更希望使用自定义断言,这样可…

mysql 调用未定义函数_php – Wierd和Annoying错误:调用未定义的函数mysql_query()[复制]...

参见英文答案 > Why shouldn’t I use mysql_* functions in PHP? 15个我已经在这一个超过一个小时了,我可以连接到我的数据库和所有(不会给出任何错误)但是当我尝试使用时我收到以下错误“的mysql_query($查询);”Call to undefined f…

window.onscroll

http://www.w3help.org/zh-cn/causes/SD9013 1.各浏览器对 document、document.body、document.documentElement 对象的 onscroll 事件支持情况 依次为 window、HTMLDivElement、document、document.body、document.documentElement 对象绑定 scroll 事件监听器,在触…

ZABBIX2.4.8监控 Windows Mysql数据库

2019独角兽企业重金招聘Python工程师标准>>> 系统环境: 操作系统:Windows Server 2012 ZABBIX Server:2.4.8 IP地址:192.168.0.77 模板脚本地址:http://pan.baidu.com/s/1eSDaiS6 ZABBIX客户端操作 1、在za…

B2B电子商务网站杂谈

B2B电子商务网站作为网络营销的交易平台, 一方面要保证功能完善, 买卖双方可以快捷、方便地进行交易。另一方面网站的宣传是挖掘潜在客户的 重要手段, 只有2 个方面都足够强大, 才能使相应B2B 电子商务网站在激烈的竞争中处于不败之地。 那么在企业网站缺乏足够资金进行宣传推广…

美国知名华人学者陈刚被捕,他出身贫寒,是一个不折不扣的工作狂

全世界只有3.14 % 的人关注了爆炸吧知识陈刚教授(图片来源:MIT网站)本文转自赛先生当地时间1月14日,美国司法部官网消息显示,美国工程院院士、麻省理工学院(MIT)教授陈刚因未能向美国能源部披露…

使用 CliWrap 让C#中的命令行交互举重若轻

在代码中进行命令行交互是一个很常见的场景, 特别是在一些CI CD 自动化流程中, 在这之前我们会使用 System.Diagnostics.Process API, 现在有一个更灵活的工具 CliWarp, 这是一个在 .NET 平台使用的命令行交互工具库, 通过在C# 中使用 Fluent 的API, 让命令行交互举重若轻。htt…

Java设置edittext光标,如何改变的EditText光标高度?

I want to change the EditText cursor height, does anyone know how?解决方案I had to dig far into the Android source to find the answer to this, but you essentially have to use padding on a custom shape drawable.note: only works on API 12 and greater due to…

Android之应用程序如何调用支付宝接口

http://blog.csdn.net/lilidejing/article/details/19483717 最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多。 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧&#xf…

andriod之应用内置浏览器 webview

参考:http://my.eoe.cn/694183/archive/10476.html http://blog.csdn.net/it_ladeng/article/details/8136534 一.webView获取html页面中标签的方法: 1.在WebViewClient里的onPageFinished回调方法中执行js代码: view.loadUrl("javascri…

权威解读 | 人类社会正进入DT时代 如何激活生产力?

导语当前,DT产业正在转入“快速发育”及“应用拉动”的发展阶段。 DT时代的新范式雏形初现。从工业时代到信息时代,从IT时代再到DT时代,不只是单个点上的技术突破、模式创新,而是已经发生了数轮包括“基础设施生产要素支柱产业分工…

分析纯文本外链在SEO优化方面的作用

在传统的SEO优化的角度上来看,超文本,锚文本以及纯文本的外链权重是依次递减的,所以很多人不愿意做纯文本外链,认为做纯文本外链无效的,笔者曾经一度也是这么认为,但是经过笔者优化网站一段时间之后&#x…

整整26本!由单墫教授主编、葛军等人操刀的高中数学教材都在这里!

全世界只有3.14 % 的人关注了爆炸吧知识我国从20世纪50年代以来,中学数学教学大纲虽经历多次修订,但都有一个共同的指导思想,就是搞好三基,同时强调指出,正确理解数学概念是掌握数学基础知识的前提。而当前我国数学教学…

如何通过 C# 将桌面截屏为图片?

咨询区 Omar Abid我想通过代码获取当前的电脑屏幕并保存为一张图片,就好像键盘的 截屏 按钮功能,请问这该如何实现?我没有好思路。回答区 Gary Willoughby:如果你的程序是 framework >2.0 的话,完全可以使用 CopyFr…

java里面什么时候环境变量_Java的环境变量什么时候需要设置?

1.在用MyEclipse开发的时不用配置环境变量,因为MyEclipse是个集成的IDE,之中指定了jre。环境变量配置与否和开发没有关系,环境变量是给成品用的。2. 除非要在命令行下用javac命令来编译java程序,否则不需要设置classpath环境变量&…

链表之单链表约瑟夫问题(三)

约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我…

PHP语言 -- Ajax 查询数据

<body><select id"sel"></select><div><br/> <input type"button" id"btn" value"出现"/></div></body><script type"text/javascript">$(document).ready(function…

SQL Server 2008如何导出带数据的脚本文件

SQL之前的版本导出脚本的时候只能把数据表的结构导出&#xff0c;却不能把其中的数据一齐导出来&#xff0c;在平时的应用中难免有时希望获取数据导出的脚本&#xff0c;比如有时SQL版本不一样的时候&#xff0c;无法把高版本的数据库备份直接还原到低版本的数据库中&#xff0…

1 加到 100 的 时间复杂度 C#.

1 //1 加到 100 的 时间复杂度:2 int n 100;3 int sum 0;4 for(int i 1; i < n; i){5 sum i;6 }7 T(1) 1; //Initialize n.8 T(2) 1; //Initialize sum.9 T(3) 1; //Initialize i. 10 T(4) n 1; //i needs to compared with n 1 times. 11 T(5) …