几个人围成一圈的问题

2014-04-09 06:30:02 阅读( 68 )

2688人 收藏本页

标签:Java面试题

编程题:设有n个人依围成一圈,从第1个人开始报数,数到第m个人出
列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所
有的人全部出列为止。设n个人的编号分别为1,2,…,n,打印出出列的顺序;
要求用java 实现。【中等难度】
答:代码如下:
package test;
public class CountGame {
private static boolean same(int[] p,int l,int n){
for(int i=0;i<l;i++){
if(p[i]==n){
return true;
}
}
return false;
}
public static void play(int playerNum, int step){
int[] p=new int[playerNum];
int counter = 1;
while(true){
第51 页共59 页
if(counter > playerNum*step){
break;
}
for(int i=1;i<playerNum+1;i++){
while(true){
if(same(p,playerNum,i)==false) break;
else i=i+1;
}
if(i > playerNum)break;
if(counter%step==0){
System.out.print(i + ” “);
p[counter/step-1]=i;
}
counter+=1;
}
}
System.out.println();
}
public static void main(String[] args) {
play(10, 7);
}
}

来自IT公司面试手册

下一篇:将一个键盘输入的数字转化成中文输出,用java语言实现,,请编一段程序实现!

上一篇:如何写一个自定义标签

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题