Advertisement
duc-phan

Untitled

Dec 22nd, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.01 KB | None | 0 0
  1. package literatePrimes;
  2. public class PrintPrimes {
  3.     public static void main(String[] args) {
  4.         final int M = 1000;
  5.         final int RR = 50;
  6.         final int CC = 4;
  7.         final int WW = 10;
  8.         final int ORDMAX = 30;
  9.         int P[] = new int[M + 1];
  10.         int PAGENUMBER;
  11.         int PAGEOFFSET;
  12.         int ROWOFFSET;
  13.         int C;
  14.         int J;
  15.         int K;
  16.         boolean JPRIME;
  17.         int ORD;
  18.         int SQUARE;
  19.         int N;
  20.         int MULT[] = new int[ORDMAX + 1];
  21.         J = 1;
  22.         K = 1;
  23.         P[1] = 2;
  24.         ORD = 2;
  25.         SQUARE = 9;
  26.         while (K < M) {
  27.             do {
  28.                 J = J + 2;
  29.                 if (J == SQUARE) {
  30.                     ORD = ORD + 1;
  31.                     SQUARE = P[ORD] * P[ORD];
  32.                     MULT[ORD - 1] = J;
  33.                 }
  34.                 N = 2;
  35.                 JPRIME = true;
  36.                 while (N < ORD && JPRIME) {
  37.                     while (MULT[N] < J)
  38.                         MULT[N] = MULT[N] + P[N] + P[N];
  39.                     if (MULT[N] == J)
  40.                         JPRIME = false;
  41.                     N = N + 1;
  42.                 }
  43.             } while (!JPRIME);
  44.             K = K + 1;
  45.             P[K] = J;
  46.         }
  47.         {
  48.             PAGENUMBER = 1;
  49.             PAGEOFFSET = 1;
  50.             while (PAGEOFFSET <= M) {
  51.                 System.out.println("The First " + M +
  52.                         " Prime Numbers --- Page " + PAGENUMBER);
  53.                 System.out.println("");
  54.                 for (ROWOFFSET = PAGEOFFSET; ROWOFFSET < PAGEOFFSET + RR; ROWOFFSET++){
  55.                     for (C = 0; C < CC;C++)
  56.                         if (ROWOFFSET + C * RR <= M)
  57.                             System.out.format("%10d", P[ROWOFFSET + C * RR]);
  58.                     System.out.println("");
  59.                 }
  60.                 System.out.println("\f");
  61.                 PAGENUMBER = PAGENUMBER + 1;
  62.                 PAGEOFFSET = PAGEOFFSET + RR * CC;
  63.             }
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement