<?
/*** 猴子选大王:一群猴子排成一圈,按1,2,…,n依次编号。* 然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,* 如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。* 要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。*/
function numOfKing($n, $m)
{$arr = range(1, $n); // 1 - n$i=0; // 数组索引从 0 开始。 数组剩余一个元素为结束条件 while(count($arr>1)) {if( ($i+1)%$m==0 ) {unset($arr[$i]); // 将数到的数字移除} else {// 将不是的从当前位置删除,放到数组的结尾处。array_push($arr, $arr[$i]);unset($arr[$i]);}$i++; // 不停地往后数
}return $arr[$i];
}
约瑟夫环 猴子选大王
转载于:https://www.cnblogs.com/lxpursue/p/9814375.html
相关文章:
Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现
关于怎么查看字节码的五种方法参考本人另一篇文章《Java以及IDEA下查看字节码的五种方法》 查看汇编语言汇编码 说要看汇编还是很有必要的,因为有些地方比如加锁其实还是通过汇编实现的,只看字节码不能看出底层实现。 其实就是利用使用hsdis与jitwat…

云计算读书笔记(五)
Hadoop:Google云计算的开源实现 Hadoop是Apache开源组织的一个分布式计算机框架,可以在大量廉价的硬件设备组成的集群上运行应用程序,为应用程序提供一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。 Hado…

自动跟随小车c语言,基于OpenCV的智能小车运动轨迹跟踪方法研究
摘要:随着人工智能技术的快速发展,智能小车开发受到越来越多研究者的关注,也已经成为一个重要的研究方向,而解决智能小车在路径规划中行驶的运动故障重要手段是对其进行的视频监控,但是智能小车的视频监控只能看到智能小车的行进状况而不进行相对应的处理,所以对智能…

JXJJOI2018_T1_market
题目描述 某天Lemon去超市买柠檬,他发现货架上有N个柠檬,每个柠檬都有一个重量Wi和价格Ci。 Lemon身上只带了S元钱,因此他想要买一个价格不超过S的柠檬回家,另外,他希望他买的那个柠檬的性价比尽量高。 性价比的定义是…

更好的Java虚拟机Zing: 更好的性能,无停顿,更快的启动
Zing虚拟机文档Understanding Java Garbage Collection(了解Java垃圾收集) 首先说明这个Zing是收费的,但是他也是优秀的,我觉得我们可以研究下他的一些思想对于怎么提高JVM,以及目前的JVM有什么缺陷是非常有帮助的。 中文版简介:…

c语言将水仙花数放入一维数组a中,全国计算机等级考试C语言考试程序设计题(13)...
在考生目录下,要求程序PROG.C的功能是:将所有的水仙花数保存到一维数组a中。(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:1531*1*15*5*53*3*3)#includevoid main(){void NONO( );//函数声明int a[10]{0},i…

[j2me]类似于OperaMini二级菜单界面演练[1]
拜朋友所赐,今日开始尝试如何绘制类似于Opera Mini的二级菜单,如下图所示:我自己的练习,还很幼稚,姑且记录如下:点击左软键,即可选中界面左下角的“选择”命令,二级菜单旋即弹出&…

宜人贷YEP技术、数据沉淀背后:金融科技迎来开放赋能时代
日前,“IFPI第十届金融科技决策者大会2018”在上海举办,宜人贷不仅入选了本届大会的“中国Fintech独角兽榜Top50”,推出的YEP共享平台也受到了众多金融机构的关注。从头部平台宜人贷全面开放金融科技能力来看,互联网金融行业历经混…

Redis源码和java jdk源码中hashcode的不同实现
一.redis实际上是使用了siphash 这个比较简单,我说的简单是指redis代码比较少不像jdk一样调用C代码调用栈非常深。 先看这个rehashing.c 主要就是dictKeyHash函数,需要调用dict.h头文件中定义的dictGenHashFunction #include "redis.h" #i…

android 7.0 短信监控,Android 7.0 监听网络变化的示例代码
Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可。public class NetChangeReceiver extends BroadcastReceiver {private static final String ANDROID_NET_CHANGE_ACTION "android.net.conn.CONNECTIVITY_CHANGE…

Mysql列类型-数值型
2019独角兽企业重金招聘Python工程师标准>>> 一、整数型: 1、取值范围: tinyint smallint mediumint int bigint 分别占用1、2、3、4、8个字节的存储空间 如:tinyint占用1个字节空间,它的取值范围&…

2018.10.22-dtoi1443奶牛逃亡(cowrun)
题目描述: Farmer John忘记修复他农场篱笆上的一个大洞,以至于篱笆围着的N(1< N <1,000)只奶牛从大洞中逃脱出来,并在农场里横冲直撞。每头在篱笆外的奶牛每分钟都将给他带来一美元的损失。FJ必须遍及每头奶牛、…

[转载]Linux 线程实现机制分析
自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads 线程库的实现及其不足,描述了 Linux 社区是如何看待…
Java12和Jdk12安装以及OpenJdk12源码
文档: JDK 12文档:https://docs.oracle.com/en/java/javase/12/ 下载: OracleJDK12下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html csdn上我下好的,速度较快:https…
android 获取视频大小,Android 获取视频缩略图(获取视频每帧数据)的优化方案
速度对比左边的图片是通过方式1右边的图片是通过方式2speed.gif速度优化,效果拔群。在缩小2倍的Bitmap输出情况下使用MediaMetadataRetriever 抽帧的速度,每帧稳定在 300ms左右。使用MediaCodecImageReader 第一次抽帧。大概是200ms ,后续每帧则是50ms左…

Msql的DML、DDL、DCL的区别
DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language):主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的…
JSR 133 Java内存模型以及并发编程的最权威论文汇总
Java内存模型 先看官方文档: https://docs.oracle.com/javase/specs/ JSR 133:Java TM内存模型和线程规范修订版:https://www.jcp.org/en/jsr/detail?id133 JSR:Java规范请求所有JSR的列表:https://jcp.org/en/jsr/…

ajax实现自动刷新页面实例
html部分:<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>ajax实现自动刷新</title> </head> <body onLoad"Autofresh()"> <p>现在的时间是:…

android aliasactivity作用,android activity-alias 的作用
activity-alias是android里为了重复使用Activity而设计的。当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有…

1024 程序员节 | 请对身边的程序猿好一点
程序员节起源程序员的工作我们都知道,编程嘛。但为什么程序员节要在1024呢?1024最早火起来是因为一个“不可描述”的论坛,那里的回帖机制是:新用户发过贴之后,过1024秒才能发一贴,如果没到1024秒就又发了一…

stackoverflow上一个最会举例子的专家
https://stackoverflow.com/ Premraj是stackoverflow上一个一个最会举例子的专家,我特意收集了他的一些有趣的举例: Java弱引用最精彩的解释 https://stackoverflow.com/questions/299659/whats-the-difference-between-softreference-and-weakrefere…

Java中的两个关键字——super、this
Java中的两个关键字——super、this 神话丿小王子的博客主页 一、super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造器中调用父类的构造器 使…

android system window,Android控件的fitSystemWindows属性
官方描述:根据系统窗体里的元素比如状态栏来调整View的布局。如果被设为true,控件的padding将会被调整为顶部留出一个statusBar的空间。类似于伪代码paddingTop"statusBarHeight"。重点说明:当布局内容可以延伸到状态栏,…

Nestjs OpenAPI(Swagger)
官方文档 用来描述api 转载于:https://www.cnblogs.com/ajanuw/p/9846589.html

Jdk11,Jdk12的低延迟垃圾收集器ZGC
https://wiki.openjdk.java.net/display/zgc/Main Z垃圾收集器,也称为ZGC,是一种可扩展的低延迟垃圾收集器,旨在实现以下目标: 暂停时间不超过10毫秒暂停时间不会随堆或实时设置大小而增加处理堆范围从几百M到几T字节大小 一目了…

Android项目驱动式开发教程 第2版,《Android项目驱动式开发教程》第一章开发入门.ppt...
《Android项目驱动式开发教程》第一章开发入门1.4 项目框架分析 4 android:versionName"1.0" > 5 8 第9行代码android:icon用来声明整个APP的图标,图片一般都放在drawable文件夹下,使用资源引用的方式。 第10行代码android:label用来声明整…
getLocationInWindow getLocationOnScreen getLeft , getTop, getBottom,getRight
版权声明:本文为博主原创文章,未经博主允许不得转载。 最近做项目时,发现在activity的onCreate()和onResume()方法里调用View.getLocationInWindow() 时,View.getLocationInWindow()返回空值,觉得很奇怪,因…

使用reflector对.NET反编译
reflector的下载地址:https://www.cr173.com/soft/355285.html 反编译后的结果: 转载于:https://www.cnblogs.com/ZaraNet/p/9848355.html

协程和Java实现
多线程的性能问题: 1.同步锁。 2.线程阻塞状态和可运行状态之间的切换。 3.线程上下文的切换。 协程,英文Coroutines,是一种比线程更加轻量级的存在。正如一个进程可以拥有多个线程一样,一个线程也可以拥有多个协程。 协程&a…

LoadRunner 技巧之 手动关联与预关联
上一节介绍了关联的原理与自动关联,除了自动关联还有另外两种关联方式:手动关联与 预关联。 手动关联 如果脚本很长,那么我们想找到一…