【程序37】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。


import java.util.Scanner;

public class lianxi37 {

    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);

        System.out.print("请输入排成一圈的人数:");

        int n = s.nextInt();

        boolean[] arr = new boolean[n];

        for(int i=0; i<arr.length; i++) {

            arr[i] = true;

        }

        int leftCount = n;

        int countNum = 0;

        int index = 0;

        while(leftCount > 1) {

            if(arr[index] == true) {

                countNum ++; 

                if(countNum == 3) {

                    countNum =0;

                    arr[index] = false;

                    leftCount --;

                }

            }

            index ++;

            if(index == n) {

                index = 0;

            }

        }

        for(int i=0; i<n; i++) {

            if(arr[i] == true) {

                System.out.println("原排在第"+(i+1)+"位的人留下了。");

            }

        }

    }

}
posted @   尐鱼儿  阅读(102)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示