A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1.   
  2. import java.util.Arrays;   
  3.   
  4.   
  5. /**  
  6. * n个人围成一圈,报到m的人出列  
  7. * @author sunlightcs  
  8. * 2011-3-8  
  9. * http://hi.juziku.com/sunlightcs/  
  10. */  
  11. public class Queue {   
  12.   
  13.     public static void main(String[] args) {   
  14.         queue(10, 3);   
  15.     }   
  16.       
  17.     /**  
  18.      * 最后出队的人  
  19.      * @param total  总的人数  
  20.      * @param num    第几号出队  
  21.      */  
  22.     public static void queue(int total, int num){   
  23.         //定义一个数组,true表示没有出队列的,false表示已经出队列的   
  24.         boolean []arr = new boolean[total];   
  25.         Arrays.fill(arr, true);   
  26.            
  27.         //移动变量,如:1  2  3  1  2  3  1  2   
  28.         int next = 1;   
  29.            
  30.         //数组下标   
  31.         int index = 0;   
  32.            
  33.         //剩下的人数   
  34.         int count = total;   
  35.            
  36.         //如果剩下的人数为1人时,停止报数   
  37.         while(count>1){   
  38.             if(arr[index] == true){   
  39.                 if(next == 3){   
  40.                     arr[index] = false;   
  41.                        
  42.                     //剩下的人数减1   
  43.                     --count;   
  44.                        
  45.                     //移动变量复位,从1开始报数   
  46.                     next = 1;   
  47.                        
  48.                     System.out.println("依次出列的人为:"+(index+1));   
  49.                 }else{   
  50.                     ++next;   
  51.                 }   
  52.             }   
  53.                
  54.             ++index;   
  55.             if(index == total){   
  56.                 //数组下标复位,从0开始新重遍历   
  57.                 index = 0;   
  58.             }   
  59.         }         
  60.         for(int i=0; i<total; i++){   
  61.             if(arr[i] == true){   
  62.                 System.out.println("最后出列的人为:"+(i+1));   
  63.             }   
  64.         }   
  65.     }   
  66.       
  67. }  
复制代码

4 个回复

倒序浏览
黑马网友  发表于 2011-9-13 23:51:49
沙发

回复 楼主 的帖子

N年前的老程序了。。。
回复 使用道具 举报
黑马网友  发表于 2011-9-14 06:17:38
藤椅
。。。很有趣吗
回复 使用道具 举报
黑马网友  发表于 2011-9-16 09:19:42
板凳
数据结构考题-约瑟夫环-现在已经看不懂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马