joseph.java

来自「PKU中一些数据结构基本算法题的java实现」· Java 代码 · 共 66 行

JAVA
66
字号
package PKU;
import java.util.Scanner;

/**
 * ID:1012
 * 模拟题,打表通过
 * 
 * @author yhm
 *
 */
public class Joseph {
	static int[] arr = new int[15];
	static int[] arr1 = {2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};
	static void solve(int k){
		int m=0;

		if (arr[k] == 0){
			while (true){
				m++;

				int size = k * 2, now = 0;
				/*if(m%(size)<=k){
					continue;
				}*/
				while (true){
					now = (now + m - 1) % size ;
					if (now >= k){
						size--;

					}
					else break;						
				}

				if (size == k){
					arr[k] = m;
					break;
				}
			}
		}
		System.out.print(arr[k]+",");
	}
	public static void main(String args[]) throws Exception {
		Scanner cin = new Scanner(System.in);
		while (true){
			

			//arr[1]=2;
			int k;

			k = cin.nextInt();

		    /*for(int i=1;i<=13;i++){
		    	solve(i);
		    }*/
		    
			if (k == 0)
				break;
			System.out.println(arr1[k-1]);
			//solve(k);

		}

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?