JAVA猴子选大王问题
题目要求
猴子选大王。输入猴子的个数n,所有的猴子从1-n编号排成一圈,从1号猴子开始数数,数到3的倍数猴子被淘汰,最后剩下的是大王。输出是大王的猴子的编号(提示:使用数组,每个数组元素相当于一个猴子,猴子的编号就是数组元素下标加一。)
思路
输入猴子的总数为a,新建数组x[a],利用for循环给数组中的元素赋初值为1,定义留下来的猴子数为left=a,while循环的条件为left>1,if(x[index]==1)说明该猴子未被淘汰,继续报数,用num来计数,当num%3 ==0的时候,说明该猴子要被淘汰,num=0;x[index]=0,left–;
当跳出while循环时,遍历数组,看哪只猴子的值为1,就输出。
实验代码
package shiyan4;
import java.util.Scanner;
public class shiyan4 {public static void main(String[] args) {System.out.println("请输入猴子的总数");Scanner out=new Scanner (System.in);int a=out.nextInt();//输入猴子的数量out.close();int [] x=new int [a];for(int i=0;i<x.length;i++) {x[i]=1;}int left=a;int num=0;//报数int index=0;//数组下标while(left>1) {if(x[index]==1) {num++;//该猴子未被淘汰,继续报数if(num%3==0) {num=0;x[index]=0;left--;}}index++;if(index==a) {index=0;//保证首尾位相连}}for(int j=0;j<x.length;j++) {if(x[j]==1) {System.out.println("猴王的编号为: "+(j+1));}}
}
}
有问题可以私信或者评论,
java的学习还是要多注重上机操作和思考
要继续坚持呀,
fighting
相关文章:

POJ 1185 炮兵阵地 (状压DP)
炮兵阵地Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 14869 Accepted: 5575Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示)…

不雅测发挥分析Android在美智能机市场凌驾黑莓及苹果
网易科技讯 3月4日动静,根据尼尔森公司比来宣布的陈诉发挥分析,Android操纵体系以29%的市占率在美国智好手机市场凌驾黑莓(27%)和苹果(27%)。其中,宏达电占12%,摩托罗拉占10%,三星占5%。但从厂商角度来看,苹…

Java基础-常量,变量,成员变量,局部变量
在java中,数据是以常量和变量两种方法形式进行存储和表示的(实际上,所有程序的数据都是这两种形式)。 变量 变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程…
把eclipse从英文调整为中文
鼠标右键单击桌面上的快捷方式,选择文件所在位置 选择配置设置 eclipse.ini 在最后加上 -Duser.languageen 然后重启eclipse即可

关系数据理论中的范式
标准化表示从你的数据存储中移去数据冗余(redundancy)的过程。如果数据库设计达到了完全的标准化,则把所有的表通过关键字连接在一起时,不会出现任何数据的复本(repetition)。标准化的优点是明显的,它避免了数据冗余,自然就节省了…

无法在证书存储区中找到清单签名证书的解决办法
以前的一个项目今天打开忽然提示说“无法在证书存储区中找到清单签名证书”,很郁闷,不知道怎么回事。最好在 工程属性里面--签名--为Clickonce清单签名 去掉 。再次生成居然成功了。不知道具体什么原因引起…

Linux Centos 上一些常用的命令
1、查看端口被哪个进程占用 netstat -lnp | grep <端口号> 2、查看某个进程号详细信息 ps <进程号> 3、检查指定服务是否开启(例如 telnet) chkconfig --list | grep telnet chkconfig iptables on (打开某个服务器自启动&#…
eclipse提示在***类中找不到main方法
可能是因为注释加的太多了,在代码最开始的时候 这时候,把注释删掉就可以了 就像这样,这时候不要惊慌,先看一下是不是注释太多了,如果不是的话,请百度搜索解决办法

【随记】动态调用web服务
通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。这样是使工作简单了,但是却和提供Web服务的URL、方法名、参数绑定在一起了,这是VS.NET自动…

在博客中加入“花絮”效果
在博客中加入Snap Shots Snap Shots表示“花絮”的意思,在博客中可以使用Snap Shots来添加“花絮”效果。先演示一遍效果,看是否能用:http://www.cnblogs.com/psunny内部的链接Snap Shots效果不可用 http://www.google.cn外部的链接Snap Shot…

phonegap调用摄像头
phonegap的HTML5的代码 是通用的 自己写了个 可是发现 在安卓机上市可以实现拍照的 但是iOS上却不行 这是为什么 我一直不解 document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { document.addEventListener(&quo…

关于JDBC中的 PreparedStatement 的使用讲解
**关于JDBC中的 PreparedStatement 的使用讲解**TOC 文章转载于博客 https://www.cnblogs.com/ysw-go/p/5459330.html 如有侵权,联系删除
SQLite数据转换成sql server数据
需要将SQLite数据库里的数据导入到SQL Server,在网上搜了好久,没有找到一个方便实用的方法。 经过本人的细心琢磨实验,终于让我给找到一好的方法:使用CSV文件作为介质来做转换。现在记录下来,一是小小庆祝一下…

Animation Override Controller动画重载器
假设游戏有很多个小人, 每一个人有2种动画站立,跑. 在通常情况下每一个人物都需要一个动画控制器。 有没有想过定义一个动画控制器 无须在定义全新的动画充值器实现每一个小人都播放自己的动画呢?没错Animation Oveeride Controller就是来解决这个问题的 1. 我们设…

java连接mysql8的坑
变化: 1.Class.forName(“com.mysql.cj.jdbc.Driver”); 2.connDriverManager.getConnection(“jdbc:mysql://localhost/数据库名字?serverTimezoneUTC”,“root”,“密码”); package chap01;import java.sql.Connection; import java.sql.DriverManager; import…

Oracle用户管理
创建用户create user–概述:在oracle中要创建一个新的用户使用 create user 语句,一般是具有dba(数据库管理员)的权限才能使用。–基本语法:create user 用户名 identified by 密码create user dbuser1 identified by dbuser1; 用户赋权grant–概述&…
UNIX网络编程--ioctl操作(十七)
一、概述 在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数。ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口。网络程序(特别是服务器程序)经常在程序启动执行后使用ioctl获取所在主机全部…

Servlert接口的doGet()、doPst()方法
Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一: doGet:处理GET请求 doPost:处理POST请求 当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象&a…

Web服务器 之 Apache 2.x 服务器中的URL重写的配置和应用
作者:北南南北来自:LinuxSir.Org摘要: 本文是关于Apache 2.x 服务器中的URL别名规则的文档,它是通过rewrite模块来实现的。能过URL别名规则,我们能看到一个干净的URL,比如可以重写为类似静态网页的地址。比…

杜拉拉的作者李可应北大就业指导中心之约写给大学生的一封信
本文是杜拉拉的作者李可应北大就业指导中心之约写给大学生的一封信。 北大的同学们,大家好:又到了临近毕业的日子,年复一年,在这个梦想周期性遭遇现实的季节,对一代又一代的莘莘学子而言,在精神上和身体上准…

VLC架构及流程分析
0x00 前置信息 VLC是一个非常庞大的工程,我从它的架构及流程入手进行分析,涉及到一些很细的概念先搁置一边,日后详细分析。 0x01 源码结构(Android Java相关的暂未分析) # build-android-arm-linux-androideabi/&#…

eclipse运行程序时只有run on server
最近写jsp的程序比较多,写java程序时,发现一点击运行按钮就开始启动服务器了, 这是因为没有写主函数的原因 注意这个问题

自动生成小学四则运算题目的程序.心得体会
http://t.cn/RAS67B0 源代码 #include<stdio.h> #include<stdlib.h>#include<time.h>main(){int a,b,op,os; printf(" [天天练,Baby们来挑战吧!]\n");aq1: printf("选择您想挑战的运算法则\n");printf("1.加法 2.减法 3…

试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。...
用Visual Studio.net 2003调试项目时,出现错误对话框,显示如下:试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。解决方法如下: 1、在命令行中尝试重新注册m…

Memcached, Redis, MongoDB区别
mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcached不存在谁替换谁的问题。和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中&…

idea使用maven创建java工程log4j的配置
错误:在pom.xml文件中 project下有下划线,报错 改正: <!-- 配置日志 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency&g…

kaggle预测
两个预测kaggle比赛 一 .https://www.kaggle.com/c/web-traffic-time-series-forecasting/overview Arthur Suilin•(1st in this Competition)•a year ago•Options github:https://github.com/sjvasquez/web-traffic-forecasting My model is basically RNN seq2…

PHP开发中,让var_dump调试函数输出更美观 ^_^#
前提:php必须安装Xdebug模块。 用var_dump打印输出时,输出的内容没有被格式化。如下图: 通常使用var_dump打印的内容是被格式化后输出的,如下图: 造成没有格式化输出的原因是因为php.ini设置的问题,使用php…
@Override is not allowed when implementing interface method
用idea打开项目,有下划线 解决办法: 选中出现红色下划线的项目,右键单击,选择open module settings 将language level改为8-Lambdas… 点击apply 选择projects,进行更改 点击apply 点击ok 即可

C#发现之旅第一讲 C#-XML开发
C#发现之旅第一讲 C#-XML开发 袁永福 2008-5-15 系列课程说明 为了让大家更深入的了解和使用C#,我们将开始这一系列的主题为“C#发现之旅”的技术讲座。考虑到各位大多是进行WEB数据库开发的,而所谓发现就是发现我们所不熟悉的领域ÿ…