问题 E: 猴子选大王-CSDN博客

114 阅读1分钟

题目描述
n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。
输入
输入两个整数n和m,1<=m<=n<=100。
输出
输出猴王的编号
样例输入
8 3
样例输出
7

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+1];
        int i=0,j=0,k=0;
        while (i!=n){
            j++;
            if(j>n)j=1;
            if(arr[j]==0){
                k++;
                if(k==m){
                    arr[j]=1;
                    i++;k=0;
                }
               
            }
        }
        System.out.print(j);
    
    }

}