算法Sedgewick第四版-第1章基础-017一约瑟夫问题(Josephus Problem)

 

 1 /*************************************************************************
 2  * 
 3  *  Josephus problem
 4  *  
 5  *  % java Ex_1_3_37 7 2
 6  *  1 3 5 0 4 2 6
 7  *  
 8  *************************************************************************/
 9 
10 public class Ex_1_3_37
11 {
12     public static void main(String[] args)
13     {
14         int n = Integer.parseInt(args[0]),
15             m = Integer.parseInt(args[1]);
16         
17         Queue<Integer> q = new Queue<Integer>();
18         for (int i = 0; i < n; i++)
19             q.enqueue(new Integer(i));
20         
21         int k = 0;
22         while (!q.isEmpty())
23         {
24             int x = q.dequeue();
25             
26             if (++k % m == 0)
27                 StdOut.print(x + " ");
28             else
29                 q.enqueue(x);
30         }
31         StdOut.println();
32     }
33 }

 

转载于:https://www.cnblogs.com/shamgod/p/5409207.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值