黑马程序员技术交流社区

标题: 逻辑题 [打印本页]

作者: Gqg    时间: 2016-3-31 00:26
标题: 逻辑题
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
作者: sxuing    时间: 2016-3-31 00:35
挺难的题
作者: 性感不是骚    时间: 2016-3-31 00:37
2号2号2号2号2号
作者: ping3014    时间: 2016-3-31 01:15
定义一个list集合存储每个人的编号(第几个),做一个无限循环,做判断,如果是第三个就删除,直到剩下一个人结束循环
作者: LiuLiu006    时间: 2016-3-31 01:54
做个判断报道 3就 删除
作者: dxw    时间: 2016-3-31 05:43
public static int count3(int n){
int[] people=new int[n]
for(int x=0;x<n;x+x){
people[x]=1;
}

int k=0;//3的计数器
int i=0;//人编号计数器
int m=0;//出圈人的计数器
while(m!=(n-1)){//1表示在圈内,0表示出圈
if(people[i]=1){k++;}
else{m++;}
if(k==3){people[i]=0;k=0;}
i++;
if(i==n){i=0;m=0}
}
for(int x=0;x<n,x++){//遍历数组,1是没有出圈的
if(people[x]==1)return x;
}
}
作者: 菊花爆满山    时间: 2016-3-31 09:59
  1. package com.heima.demo;

  2. import java.util.LinkedList;
  3. import java.util.Scanner;

  4. public class Demo {

  5.         public static void main(String[] args) {
  6.                 Scanner sc = new Scanner(System.in);
  7.                 System.out.println(getLucklyNum(sc.nextInt()));
  8.                 sc.close();
  9.         }

  10.         public static int getLucklyNum(int n) {
  11.                
  12.                 LinkedList<Integer> ll = new LinkedList<>(); //定义一个集合 用于存储数据
  13.                 for (int j = 1; j <= n; j++) {   //将n个人从1编号依次存入集合中
  14.                         ll.add(j);
  15.                 }
  16.                 int count = 1;   //定义一个计数器 用于判断是否是3的倍数
  17.                 for (int index = 0; ll.size() != 1; index++) { //只要集合中不剩下一个  循环就不结束
  18.                         if(index == ll.size())   //当索引超过最大索引值  就将索引值置零
  19.                                 index = 0;
  20.                         if(count % 3 == 0)
  21.                                 ll.remove(index--);   //当报数是3的倍数就删除该元素  然后索引减1
  22.                                
  23.                         count++;          //计数器加1
  24.                 }
  25.                 return ll.get(0);      //返回最后一个人的编号
  26.         }

  27. }
复制代码

作者: 我本善良。    时间: 2016-3-31 10:31
用递归做




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2