专科大二java实训课的内容

img

有大佬可以帮帮我吗?

代码如下:


public static void main(String[] args) {
        int n = 500;
        int m = 500;
        int cnt = 1;
        int[] p = new int[n];
        for(int i = 0;i<n;i++)
            p[i] = 0;
        
        while( m > 1){
            for(int i=0;i<n;i++){
                if(p[i] == 0 ){
                    if(cnt%3==0){ //数到3后的处理
                        cnt = 1; //从1开始数
                        m--;//剩余人数-1
                        p[i] = 1; //标记位置1,表示已经退出
                    }else
                        cnt++;
                    
                }
            }
        }
        
        for(int i = 0;i<n;i++){
            if(p[i] == 0){
                System.out.println(i); //输出数组下标(从0开始)
                break;
            }
        }
    } //main end

约瑟夫环问题,看下这个改下数字就好 https://blog.csdn.net/zsah2011/article/details/118049766