Codeforces #43 A "Ball Game"

問題:http://codeforces.com/contest/46/problem/A

参加形式:本番

円上に人がいて,一定の間隔の隣の人にボールを渡す.その間隔はk回目の試行のときにk-1人を間に挟む.n人いたときにn-1回の試行を行ったときのボールが渡った人のパスを求める.

1〜nの数字をリストに入れてCollections.rotate()で回してパスを求めた.

import java.util.*;

public class A_BallGame {
        public static void main(String[] args) {
                int n = new Scanner(System.in).nextInt();
                List<Integer> list = new ArrayList<Integer>();
                for(int i = 1; i <= n; ++i){
                        list.add(i);
                }
                StringBuilder sb = new StringBuilder();
                for(int i = 1; i < n; ++i){
                        Collections.rotate(list, -i);
                        sb.append(list.get(0)+" ");
                }
                System.out.println(sb.toString().trim());
        }
}