兰聪


私信TA

用户名:lc2024228712

访问量:2757

签 名:

等  级
排  名 143
经  验 7158
参赛次数 8
文章发表 18
年  龄 0
在职情况 学生
学  校 鄂州职业大学
专  业

  自我简介:

TA的其他文章

参考代码:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		
		int[] arr = new int[n]; // 赋值
		for (int i = 0; i < arr.length; i++) {
			arr[i] = i + 1;
		}
		
		int cnt = 0; //用于计数
		while(n > 1) {
			for (int i = 0; i < arr.length; i++) {
				if(arr[i] == 0) { // // 2.遇到0就跳过此次循环
					continue;
				}
				
				cnt++;
				if(arr[i] != 0 && cnt == m) { // 1.每到m次就把当前数组的元素改成0
					arr[i] = 0;
					cnt = 0; // 重置计数
					n--; // 每标记一个0就减1
				}
			}
		}
		
		for (int i = 0; i < arr.length; i++) { // 输出非0的元素(只有一个了)
			if(arr[i] != 0) {
				System.out.println(arr[i]);
			}
		}
		
	}

}


 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区