早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求java代码是《约瑟夫环问题-猴子选大王》[问题描述]一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这

题目详情
求java代码是《约瑟夫环问题-猴子选大王》
[问题描述]
一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
[基本要求]
1. 熟练设计双向循环链表并实现插入、删除、遍历等接口函数;
2. 设计出简单界面,实现用户参数输入和结果输出;
3. 设计函数,实现循环删除第N个猴子,剩下的最后一个是大王;
4. 设计结束后,按要求撰写课程设计报告。
[设计进度]
第1~2天:
讲解课程设计的内容及课题的设计思路,要求学生根据所选题目查阅相关资料,设计出合适的双向循环链表,实现插入、删除、遍历等接口函数。
第3 天:
进行界面设计,并设计出循环删除的函数;界面示例如下:

第4 天:
添加响应事件,在事件中计算出最终结果并显示。响应时间为:当输入密码后,按回车键时,输出最后的序号及出队序列。
第5 天:
测试程序,撰写实践报告。
检查学生的设计,进行课程设计答辩,结合学生的设计情况、学生的出勤情况、课设报告的书写,以及答辩的成绩一起得出学生的课设成绩。
▼优质解答
答案和解析
无界面!
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class LinkCircle {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n, k, m, i, j, count, p, q;
int[] a = new int[100];
List array = new LinkedList();
p = 0;
q = 0;
count = 0;
n = in.nextInt();
m = in.nextInt();
for (i = 0; i < n; i++) {
array.add(i + 1);
System.out.printf(i != n - 1 ? "%d " : "%d\n", array.get(i));
}
int pos = -1;
int x = 0;

while(array.size() != 1)
{
//x = array.get(pos);

pos += m ;
if(pos >= array.size())
{
pos = pos % array.size();
}
System.out.println("remove pos:" + (pos + 1) + ", value:" + array.get(pos));

array.remove(pos--);
System.out.print("Array : ");
for (i = 0; i < array.size(); i++) {
System.out.printf(i != array.size() - 1 ? "%d " : "%d\n\n", array.get(i));
}
}
System.out.println("res:" + array.get(0));
}
}
看了 求java代码是《约瑟夫环问...的网友还看了以下:

这是一道关于一元一次不等式的题,请有兴趣的朋友帮忙看看.\(^o^)/一个人的头发大约有10万到二  2020-04-11 …

高一学生张伟同学在《吕氏春秋·上农》中看到这样一段话:“民舍本而事末则其产约(财产轻便),其产约则  2020-05-13 …

中翻英:1、你去拜访某人时,2、—你应该先预约,并按时到达.3、—你应该先预约,并按时到达,最好携  2020-05-13 …

中翻英:1、你去拜访某人时,2、—你应该先预约,并按时到达.3、—你应该先预约,并按时到达,最好携  2020-05-13 …

求教数学题,自然数N有很多个约数,把它的这些约数两两求和得到一组新数,其中最小的为4,最大的为19  2020-05-16 …

要约人撤回要约的通知必须()。A.先于要约到达受要约人处B.在受要约人收到要约前发出C.在受要约人  2020-06-04 …

关于一颗星星.叫什么的问题...这颗星是在晚上最亮的一颗、大约在南方、每天晚上都有、而且只有这一个  2020-06-05 …

自然数N有很多个约数,把它的这些约数两两求和得到一组新数,其中最小的为4,最大的为196,N有几个  2020-06-15 …

为什么我有时候在晚上找不到蚊子,却始终能听到隐约的蚊子叫声?而且在这些情况下我一般也不会被叮只有当  2020-06-16 …

第一次世界大战爆发后,意大利加入到协约国方面对德国作战,这反映出了()A、协约国方面进行的正义战争  2020-06-30 …