下面给大家带来的这道编程题可以算得上是一道非常基础的java编程题目,刚刚开始接触java编程的小伙伴一起来看看具体的题目以及解题方法吧。
下面是具体的题目,题目还是非常的简单的。
一、题目
有n个人围成一圈,顺序排号。
从第一个人开始进行报数,从1到3报数,凡是报到3的人就要退出圈子。
这里的话问题就来了,请问,最后留下来的是原来第几号的那个人呢?
注意了!题目一定要先看清楚,要理解,题目究竟要你解决的是什么问题,看清楚理解了题目,再来想思路以及做解答。
下面是这道题目的具体解法。
二、代码实现import java.util.Scanner;
public class Prog37
{
public static void main(String[] args)
{
System.out.print("请输入一个整数:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.close();
//定义数组变量标识某人是否还在圈内
boolean[] isIn = new boolean[n];
for (int i = 0; i
isIn[i] = true;
//定义圈内人数、报数、索引
int inCount = n;
int countNum = 0;
int index = 0;
while (inCount > 1)
{
if (isIn[index])
{
countNum++;
if (countNum == 3)
{
countNum = 0;
isIn[index] = false;
inCount--;
}
}
index++;
if (index == n)
index = 0;
}
for (int i = 0; i
if (isIn[i])
System.out.println("留下的是:" + (i + 1));
}
}
这道java入门编程还是非常的简单的,你理解了吗?
假如你还想了解更多的java基础编程题,可以继续的关注本站的java实例栏目来进行了解呢。
更多的例题可以分享给你,希望能够对你有所帮助哦。
推荐阅读: