选出特定编号的猴子

import javax.swing.*;

public class MonkeyKing{
public static void main(String[] args){
String s;
int n,k,m,n1;
s=JOptionPane.showInputDialog("Please enter the amount of the monkey:");//输入对话框
n=Integer.parseInt(s);//将字符串s转变为整型变量
n1=n+1;
s=JOptionPane.showInputDialog("Please enter the first monkey‘s number:");
k=Integer.parseInt(s);//k:first monkey
s=JOptionPane.showInputDialog("please enter the number to eliminate");
m=Integer.parseInt(s);//m:eliminate
int a[]=new int[n+1];
a[0]=0;
System.out.println("the monkey‘s number to eliminate");
for(int i=1;i<a.length;i++)
a[i]=1;
for(int i=1;i<=m;i++){
if(n==1)
break;
else if(i==m){
n--;
i=0;
a[k]=0;
System.out.print(k+" ");
}
do{
k++;
k=k%n1;
}while(a[k]!=1);
}
System.out.println("final number of the monkey:"+k);
}
}

时间: 2024-08-07 13:55:44

选出特定编号的猴子的相关文章

约瑟夫环(猴子问题)递归思路解法

“约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王.要求编程模拟此过程,输入max.size, 输出最后那个大王的编号. 对于这个问题,可以这么解:每次有猴子出列后,就给所有猴子重新编号:首先第一个出列的猴子编号NO1=(size % max)==0 ? max : (size % max)(作判断是因为si

NOIP算法总结

前言 离NOIP还有一个星期,匆忙的把寒假整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.旁边的同学都劝我不要再放PASCAL啊什么的了,毕竟我们的下一级直接学C++.即便我本人对C++也是赞赏有加,不过PASCAL作为梦的开始终究不能忘记.不像机房中其余的OIERS,我以后并不想学计算机类的专业.当年来学这个竞赛就是为了兴趣,感受计算机之美的.经过时迁,计划赶不上变化,现在尚处于迷茫之中,也很难说当时做的决定是对是错.然而我一直坚信迷茫的时候

前端学HTTP之字符集

前面的话 HTTP报文中可以承载以任何语言表示的内容,就像它能承载图像.影片或任何类型的媒体那样.对HTTP来说,实体主体只是二进制信息的容器而已.为了支持国际性内容,服务器需要告知客户端每个文档的字母表和语言,这样客户端才能正确地把文档中的信息解包为字符并把内容呈现给用户,而要实现这个功能,需要用到接下来要详细介绍的字符集 首部概述 服务器通过HTTP协议的Content-Type首部中的charset参数和Content-Language首部告知客户端文档的字母表和语言.这些首部描述了实体主

【12-JDBC编程】

JDBC编程 JDBC概述 •通过使用JDBC API,Java程序可以非常方便地操作各种主流数据库,这是使Java语言的巨大 魅力所在.而且由于Java语言的跨平台特性,所以使用JDBC API所编写的程序不仅可以实现跨数据 库,还可以跨平台,具有非常优秀的可移植性. •程序使用JDBC API以统一的方式来连接不同的数据库,然后通过Statement对象来执行标准 SQL语句,并可以获得SQL语句访问数据库的结果.因此掌握标准SQL语句是学习JDBC编程的基础, 本章将会简要介绍关系数据库理

1使用jQuery

JQuery jQuery是继Prototype之后有一个优秀的javascript库,是一个开源项目.jQuery凭借简洁的语法和跨平台的兼容性,极大的简化了javaScript开发人员遍历html文档,操作Dom,处理事件,执行动画和开发ajax的操作.其独特而又优雅的代码风格改变了Javascript程序员的设计思路和编写程序的方式. ******************* 为了使用JQuery,我们需要从官方(jquery.com)下载一个JQuery库文件.我们下载最新的未压缩版jqu

Java算法与数据结构

Java算法与数据结构学习 一.数组 //声明数组 dataType[] arrayRefVar; //创建数组 arrayRefVar = new dataType[arraySize]; dataType[] arrayRefVar = new dataType[arraySize]; dataType[] arrayRefVar = {value0, value1, ..., valuek}; 1.使用自定义类封装数组 public class MyArray{ private long

10.3 SQL语法

目录 一.关系数据库基本概念和MySQL基本命令 1.1 数据库的概念和类型分类 1.2 MySQL数据库的命令 1.3 MySQL数据库的存储机制 二.SQL语句基础 三.DDL语句 3.1 创建表的语法 3.2 修改表结构语法 3.3 删除表的语法 3.4 truncate表 四.数据库约束 4.1 NOT NULL约束 4.2 UNIQUE约束 4.3 PRIMARY KEY约束 4.4 FOREIGN KEY约束 4.5 CHECK约束 五.索引 5.1 创建索引 5.2 删除索引 六.

什么是链表

链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域. 相比于线性表顺序结构,操作复杂.由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn

jsp、JavaScript与html

0.先看一个实例 <BODY>内嵌子标签: <H>- - </H>   :文章标题 <FONT size="12" color="red"face="律书">...</FONT>         :字体标签,控制文本的大小.颜色.字体 <H#> ... </H#> :#=1, 2, 3, 4, 5, 6   6级字号 <P>...</P>