有10個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是第幾號的人


有10個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是第幾號的人

 

只是用一個for完成

public class Test06 {

    public static void main(String[] args) {
        int[] arr={1,2,3,4,5,6,7,8,9,10};
        int counter=0;//用於計算退出的人數
        int j=0;//用於報數
        /*    arr[i%arr.length]可以用來表示數組成環時元素的定位
         *  j用於報數,和成環元素的定位下標無關
         * */
        for(int i=0;counter<arr.length-1;i++){
            if(arr[i%arr.length]!=0){//元素不為0時,表明沒有退出
                if((j+1)%3==0){//報數是3時
                    System.out.println("退出的人是:"+arr[i%arr.length]);
                    arr[i%arr.length]=0;//元素置零表示退出
                    counter++;
                }
                j++;//只要沒有退出,報數就加1
                
            }
        }
        for(int i=0;i<arr.length;i++){
            if(arr[i]!=0){
                System.out.println("最后剩下的人是:"+arr[i]+"號");
            }
        }
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 報數問題:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位 【JAVA習題二十七】有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下 有17個人圍成一圈(編號為0~16),從第 0號的人開始從 1報數, 凡報到 3的倍數的人離開圈子,然后再數下去,直到最后只剩下一個人為止。 問此人原來的位置是多少號? java解答:有17個人圍成一圈(編號0~16),從第0號的人開始從1報數,凡報到3的倍數的人離開圈子,然后再數下去,直到最后只剩下一個人為止,問此人原來的位置是多少號? 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大? C語言——N個人圍成一圈報數淘汰問題 Leetcode練習(Python):動態規划類:第213題:打家劫舍 II:你是一個專業的小偷,計划偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都圍成一圈,這意味着第一個房屋和最后一個房屋是緊挨着的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 python郵件發送給多人時,只有第一個人能收到的問題
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM