java基础编程题有n个人围成一圈顺序排号

KLQ 2020-06-02 11:32:40 java常见问答 7046

下面给大家带来的这道编程题可以算得上是一道非常基础的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.length; 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 < n; i++)
            if (isIn[i])
                System.out.println("留下的是:" + (i + 1));
    }
}

这道java入门编程还是非常的简单的,你理解了吗?

假如你还想了解更多的java基础编程题,可以继续的关注本站的java实例栏目来进行了解呢。

更多的例题可以分享给你,希望能够对你有所帮助哦。

推荐阅读:

java编程题,输入3个数abc按大小顺序输出

java有一个已经排好序的数组插入一个数编程

java简单编程题问第五个人多少岁?java递归算法经典实例