「java有n个人围成一圈」java有n个人围成一圈,从第一个人
今天给各位分享java有n个人围成一圈的知识,其中也会对java有n个人围成一圈,从第一个人进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用JAVA编写,有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈
- 2、java编程 有n个人围成一个圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
- 3、有N个人围成一圈每次从1数起数到3就把那个人踢出去最后只保留一个人,用java集合和scanner
- 4、java编程,有n个人围成一圈,顺序排号,从一号到n号,从第一个开始报数,(从1报到3)凡报到3的
用JAVA编写,有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈
大致的思路:定义list集合,利用for循环添加1—n元素,利用if判断,对3取余为0的删除,查看最终输出结果。试着自己做,不懂再问
java编程 有n个人围成一个圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
public class Increase {
public static void rep(boolean[] people) {
int i = 0,j=0,n=people.length,m=n;
while(n2){
i=++i%m;
if (people[i] == true){
j++;
if (j==3){
people[i] = false;
System.out.println(i);
n--;//总人数减1
j = 0;//到3从头数
}
}
}
}
public static void main(String[] args) {
boolean people[] = new boolean[10];
for(int i = 0; i10; i++){
people[i] = true;
}
rep(people);
}
}
main函数为测试例子,打印结果如下
3
6
9
2
7
1
8
5
有N个人围成一圈每次从1数起数到3就把那个人踢出去最后只保留一个人,用java集合和scanner
按照你的要求编写的Java程序如下
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class DD {
public static void main(String[] args) {
System.out.print("请输入人数");
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
ListInteger l=new ArrayListInteger();
for(int i=1;i=N;i++){
l.add(i);
}
int point=0,number=1;
while(l.size()1){
if(number%3==0){
l.remove(point);
--point;
}
++point;
++number;
if(pointl.size()-1){
point=0;
}
}
System.out.println("最后剩下的人为"+l.get(0)+"号");
}
}
运行结果
请输入人数100
最后剩下的人为91号
java编程,有n个人围成一圈,顺序排号,从一号到n号,从第一个开始报数,(从1报到3)凡报到3的
这么经典的面向对象题目 以下代码仅供参考
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
n = scanner.nextInt();
scanner.close();
PersonQuan personQuan = new PersonQuan();
Person person;
for (int i = 1; i = n; i++) {
person = new Person(i);
personQuan.addPerson(person);
}
n = 0;
person = personQuan.first;
while (personQuan.first != personQuan.last) {
n++;
if (n % 3 == 0) {
//System.out.println("第" + n/3 + "次移除编号:" + person.id);
personQuan.removePerson(person);
}
person = person.right;
}
System.out.println("最后留下的是第" + personQuan.first.id + "号");
}
}
class Person {
int id;
Person left;
Person right;
public Person(int id) {
this.id = id;
}
}
class PersonQuan {
Person first;
Person last;
public void addPerson(Person person) {
if (first == null) {
first = person;
last = person;
person.left = person;
person.right = person;
} else {
last.right = person;
person.left = last;
person.right = first;
first.left = person;
last = person;
}
}
public int removePerson(Person person) {
if (first == last) {
return 0;
}
if (person == first) {
last.right = person.right;
person.right.left = last;
first = person.right;
} else if (person == last) {
first.left = person.left;
person.left.right = first;
last = person.left;
} else {
person.left.right = person.right;
person.right.left = person.left;
}
return 1;
}
}
关于java有n个人围成一圈和java有n个人围成一圈,从第一个人的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。