assist.java
来自「Ulm大学2003-2004年竞赛题」· Java 代码 · 共 46 行
JAVA
46 行
// Problem Assistance Required// Algorithm Precalculation// Runtime O(n*l[n])// Author Walter Guttmann// Date 16.07.2000import java.io.*;public class assist{ public static void main(String[] arg) throws Exception { final int maxl = 33810; int[] l = new int[4096]; boolean b[] = new boolean[maxl]; // precalculate all lucky numbers (the 3000th one is 33809) by simulation // this would also suit the "Freiburg Method" for larger values of n for (int i=0 ; i<maxl ; i++) b[i] = true; for (int n=1,start=1 ; n<=3000; n++) { ++start; while (!b[start]) ++start; l[n] = start; for (int m=start ; m<maxl ; ) { b[m] = false; for (int i=0 ; i<start ; i++) { ++m; while (m<maxl && !b[m]) ++m; } } } StreamTokenizer st = new StreamTokenizer (new FileReader ("assist.in")); while (true) { st.nextToken(); int n = (int) st.nval; if (n == 0) break; System.out.println(l[n]); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?