日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java经典面试题(N人循环报M个数出列)实现

發(fā)布時(shí)間:2025/4/16 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java经典面试题(N人循环报M个数出列)实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

面試題:

?設(shè)有N個(gè)人依次圍成一圈,從第1個(gè)人開始報(bào)數(shù),第M個(gè)人出列,然后從出列的下一個(gè)人開始報(bào)數(shù),數(shù)到第M個(gè)人又出列,...,如此反復(fù)到所有的人全部出列為止,設(shè)N個(gè)人的編號(hào)分別為1,2,...,N,打印出出列的順序,要求用java實(shí)現(xiàn)。


參考代碼:

package com;/** 編程題:設(shè)有N個(gè)人依次圍成一圈,從第1個(gè)人開始報(bào)數(shù),第M個(gè)人出列,然后從出列的下一個(gè)人開始報(bào)數(shù),數(shù)到第M個(gè)人又出列,...,* 如此反復(fù)到所有的人全部出列為止,設(shè)N個(gè)人的編號(hào)分別為1,2,...,N,打印出出列的順序,要求用java實(shí)現(xiàn)。*/ public class demo {public static void main(String args[]){int n=99;//人數(shù),1...99編號(hào)int m=9;//循環(huán)次數(shù)int oCount=0;//統(tǒng)計(jì)總出列人數(shù)int index=1;//指示當(dāng)前報(bào)數(shù)的編號(hào)int iCount=0;//統(tǒng)計(jì)每一輪循環(huán)報(bào)數(shù)的個(gè)數(shù)int[] icol=new int[99];for(int i=0;i<99;i++) icol[i]=0;//初始化為未出列 long start=System.currentTimeMillis(); while (true){if(oCount==n-1) { //剩下最后一個(gè),直接出列System.out.println("最后,第"+String.valueOf(index)+"個(gè)出列!"); break;//全部出列,結(jié)束循環(huán)}if(icol[index-1]==0) iCount++;//未出列,報(bào)數(shù)if(iCount == m ) { //本輪報(bào)數(shù)循環(huán)結(jié)束 System.out.println("第"+String.valueOf(index)+"個(gè)出列!");icol[index-1]=1;//標(biāo)記為已出列oCount++;//已處理人數(shù)加1iCount =0;//從頭開始數(shù)每輪循環(huán)報(bào)數(shù)}index++;//下一個(gè)if(index==n) index=1;//返回隊(duì)頭} long end =System.currentTimeMillis();System.out.println("總出列個(gè)數(shù):"+String.valueOf(oCount+1));System.out.println("總時(shí)長(zhǎng):"+String.valueOf(end-start));} } 執(zhí)行結(jié)果:

第9個(gè)出列! 第18個(gè)出列! 第27個(gè)出列! 第36個(gè)出列! 第45個(gè)出列! 第54個(gè)出列! 第63個(gè)出列! 第72個(gè)出列! 第81個(gè)出列! 第90個(gè)出列! 第1個(gè)出列! 第11個(gè)出列! 第21個(gè)出列! 第31個(gè)出列! 第41個(gè)出列! 第51個(gè)出列! 第61個(gè)出列! 第71個(gè)出列! 第82個(gè)出列! 第92個(gè)出列! 第4個(gè)出列! 第15個(gè)出列! 第26個(gè)出列! 第38個(gè)出列! 第49個(gè)出列! 第60個(gè)出列! 第73個(gè)出列! 第84個(gè)出列! 第95個(gè)出列! 第8個(gè)出列! 第22個(gè)出列! 第34個(gè)出列! 第47個(gè)出列! 第59個(gè)出列! 第74個(gè)出列! 第86個(gè)出列! 第98個(gè)出列! 第14個(gè)出列! 第29個(gè)出列! 第43個(gè)出列! 第57個(gè)出列! 第70個(gè)出列! 第87個(gè)出列! 第3個(gè)出列! 第19個(gè)出列! 第35個(gè)出列! 第52個(gè)出列! 第67個(gè)出列! 第83個(gè)出列! 第2個(gè)出列! 第20個(gè)出列! 第39個(gè)出列! 第56個(gè)出列! 第76個(gè)出列! 第93個(gè)出列! 第13個(gè)出列! 第33個(gè)出列! 第55個(gè)出列! 第77個(gè)出列! 第96個(gè)出列! 第23個(gè)出列! 第44個(gè)出列! 第66個(gè)出列! 第89個(gè)出列! 第16個(gè)出列! 第42個(gè)出列! 第68個(gè)出列! 第94個(gè)出列! 第25個(gè)出列! 第53個(gè)出列! 第80個(gè)出列! 第12個(gè)出列! 第48個(gè)出列! 第79個(gè)出列! 第17個(gè)出列! 第58個(gè)出列! 第91個(gè)出列! 第32個(gè)出列! 第75個(gè)出列! 第24個(gè)出列! 第65個(gè)出列! 第10個(gè)出列! 第69個(gè)出列! 第30個(gè)出列! 第88個(gè)出列! 第50個(gè)出列! 第28個(gè)出列! 第5個(gè)出列! 第85個(gè)出列! 第78個(gè)出列! 第97個(gè)出列! 第7個(gè)出列! 第46個(gè)出列! 第37個(gè)出列! 第40個(gè)出列! 第6個(gè)出列! 第62個(gè)出列! 第64個(gè)出列! 最后,第65個(gè)出列! 總出列個(gè)數(shù):99 總時(shí)長(zhǎng):7


總結(jié)

以上是生活随笔為你收集整理的Java经典面试题(N人循环报M个数出列)实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。