标号1-n的n个人首尾相接,1到3报数,报到3的退出,求最后一个人的标号
闲来无聊,拿着这个算法题看了下典型的约瑟夫问题。这里使用最直白的方式来解答这道题:
思路:
1.把所有人先放入数组中,size为n+1
2.当报到m的人,且dead不等于n-1时,此人退出游戏,这时候把数组中这个值置为0,报数从新开始
3.如果这个人报数等于m,并且已经死了n-1个人,说明当前这个人就是最后的一个
public class demo{public static void main(String arg[]){ int arr[] = new int[101];//报数从1开始所以数组大小为n+1int n=100, m=3;int i;int dead = 0; //表示已经死了多少人int num = 0; //num模拟报数for (i = 1;i<= n; i++) {//开始时每个人都可以报数,为了能得到最后一个人的编号,我们让初始值为i下标arr[i] = i;}for (i = 1;; i++){if (i > n) {//如果大于总人数,我们就从头开始i = i%n; }if (arr[i] > 0){//如果当前这个人没有死,就报数num++;}if (m == num && dead != n-1){//如果当前这个人报的数等于m 并且没有已经死亡n-1个人num = 0;arr[i] = 0;dead++;} else if(m == num && dead == n-1){//如果这个人报数等于m,并且已经死了n-1个人,说明当前这个人就是最后的一个活着的了。System.out.print(arr[i]+"");break;}}}
}
标号1-n的n个人首尾相接,1到3报数,报到3的退出,求最后一个人的标号相关推荐
- 求首尾相接的数组的最大子数组和
思路:将一个数组扩大一倍,这样便实现了数组的首尾相接.在将每个数组成的子数组的和全部求出放进sum数组中,最后求出最大值即可. 源代码: package 首尾相接数组; import java.uti ...
- 返回一个首尾相接的二维整数数组中最大子数组的和
题目: ·返回一个二维整数数组中最大子数组的和. 要求: ·输入一个二维整形数组,数组里有正数也有负数. ·二维数组首尾相接,象个一条首尾相接带子一样. ·数组中连续的一个或多个整数组成一个子数组,每 ...
- html图片滚动首尾互联,网页中多个图片首尾相接来回滚动
网页中多个图片首尾相接来回滚动这个功能用JavaScript来实现的. 下面是页面中的显示代码: border=0 cellspace="0"> vAlign=top> ...
- 写了一个图片横向滚动且首尾相接的JS组件
当年我也是从网上down组件直接拿来用的小白. 记得三年前去XM面试的时候,明哥问我: "如果你需要一个页面特效,你怎么做?" 我呆萌的回答说:"网上down一个哦!&q ...
- 向量加减法首尾规律_向量加减口诀首尾相接
向量的加法口诀:首尾相连,首连尾,方向指向末向量.向量的减法口诀:首首相连,尾连尾,方向指向被减向量. 三角形定则解决向量加减的方法 将各个向量依次首尾顺次相接,结果为第一个向量的起点指向最后一个向量 ...
- 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)
一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...
- 首尾相接数组求子数组最大和
一.题目及要求: 返回一个整数数组中最大子数组的和 如果数组A[0]...A[j-1]首尾相邻,允许A[i-1]...A[n-1],A[0]...A[j-1]之和最大:同时返回最大子数组的位置. 二. ...
- 自己设计的一个首尾相接js轮播图
HTML部分: <div class="circle"><img src="images\轮播图1.jpg" alt="" ...
- 用标号法求最短路径matlab,标号法求最短路径问题
dijstra算法 最短路径 运筹学 教学目标: 教案 标题:标号法求最短路径问题 1.通过本节学习,使学生掌握标号法的步骤: 2.通过本节学习,学生能够应用标号法求解配送路径问题 教学重点及难点: ...
- 用标号法求最短路径matlab,标号法求最短路径例题详解重点.ppt
r * 最短路径 带权图G=, 其中w:E?R. ?e?E, w(e)称作e的权. e=(vi,vj), 记w(e)=wij . 若vi,vj不 相邻, 记wij =?. 设L是G中的一条路径, L的 ...
最新文章
- 鸿蒙兼容安卓app 为什么还要生态,就因为鸿蒙兼容安卓APP,中兴就宣布弃用?...
- android 组件(activity,service,content provider,broadcast receiver,intent)详解
- 基于WebSocket协议实现Broker
- cocos2d, Box2D
- 灵活运用 SQL SERVER FOR XML PATH
- 微信/聊天宝/马桶MT/多闪 社交APP一个不落 被约谈!
- 【Elasticsearch】es node 节点
- linux智能灌溉流程,农田自动灌溉系统及灌溉方法与流程
- MicroPython支持SPI驱动外部Flash了
- 数值 转换 成 带千位符的数值,且转成大写
- Unity zSpace 开发
- Python调用海康威视网络相机_调用海康SDK
- 陈顼oracle,一次视图合并引起的性能问题
- 什么叫冷备用状态_线路和设备冷备用和热备用的状态分别是什么意思?
- spring boot项目报错:Validation failed for query for method public abstract...
- ROS 下的仿真小乌龟
- 全志H616方案香橙派orangepi zero2的26pin接口 SPI测试
- iStat Menus mac中文
- 知识点梳理IR-808 Biotin,Biotin 808-IR,IR808 生物素,红外吸收染料修饰生物素
- Android smack+ejabberd+spack 实现即时通讯(二)客户端连接