您的位置:首页 > 其它

环形选人问题

2014-01-05 15:53 302 查看

要求:题目有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。

问:最后剩下的是100人中的第几个人?

代码:

package com.itheima.test3;
/*题 目:第10题
*要求:1, 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
*	  2,然后其他人重新开始,从1报数,到14退出。
*	  3,问:最后剩下的是100人中的第几个人?
*思路:C语言里的猴子选大王
*
* */
public class Test10 {
public static void main(String[] args) {

int temp;
int end=0;
Integer [] arrage=new Integer[100];	//生成100个元素
//	System.out.println("先生成让这100人:");
for(int i=0;i<arrage.length;i++){
arrage[i]=i+1;
//				System.out.print(arrage[i]+" ");
}

for(int i =arrage.length-1;i>=0;i--)
{
for(int k=1;k<=14;k++)
{
temp=arrage[0];
for(int j=0;j<i;j++)
{
arrage[j]=arrage[j+1];
}
arrage[i]=temp;
}
}
//System.out.println("");

for(end=arrage.length-1;end>=0;end--){
System.out.println("退出人的顺序"+arrage[end]);
}
System.out.println("最后剩下的数字为"+arrage[end+1]);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: