下面给大家带来的这道编程题可以算得上是一道非常基础的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实例栏目来进行了解呢。
更多的例题可以分享给你,希望能够对你有所帮助哦。
推荐阅读: