util.java

来自「factorization.zip」· Java 代码 · 共 91 行

JAVA
91
字号
package javax.math.factorization;

/**
 * <p>Title: Factorization Library</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author Vladimir Silva
 * @version 1.0
 */
import java.math.BigInteger;

/**
 * Large Number manipulation functions
 */
public class Util
{
      /**
       *
       */
      static void GenerateSieve(int initial, byte[] sieve, byte[] sieve2310,
				int[] SmallPrime) {
	    int i, j, Q;
	    for (i = 0; i < 23100; i += 2310) {
		  System.arraycopy(sieve2310, 0, sieve, i, 2310);
	    }
	    j = 5;
	    Q = 13; /* Point to prime 13 */
	    do {
		  if (initial > Q * Q) {
			for (i = (int) ( ( (long) initial * ( (Q - 1) / 2)) % Q);
			     i < 23100; i += Q) {
			      sieve[i] = 1; /* Composite */
			}
		  }
		  else {
			i = Q * Q - initial;
			if (i < 46200) {
			      for (i = i / 2; i < 23100; i += Q) {
				    sieve[i] = 1; /* Composite */
			      }
			}
			else {
			      break;
			}
		  }
		  Q = SmallPrime[++j];
	    }
	    while (Q < 5000);
      }

      /**
       *
       */
      public static void dumpIntArray(String prefix, int[] arry, int size) {
	    for (int i = 0; i < size; i++) {
		  System.out.println(prefix + "[" + i + "]=" + arry[i]);
	    }
      }

      public static String longArray2String(String prefix, long[] arry, int size) {
            StringBuffer b = new StringBuffer();
	    for (int i = 0; i < size; i++) {
		  b.append(prefix + "[" + i + "]=" + arry[i] + "\n");
	    }
            return b.toString();
      }

      public static void dumpLongArray(String prefix, long[] arry, int size) {
	    for (int i = 0; i < size; i++) {
		  System.out.println(prefix + "[" + i + "]=" + arry[i]);
	    }
      }

      public static void dumpBigIntArray(String prefix, BigInteger[] arry, int size) {
	    for (int i = 0; i < size; i++) {
		  System.out.println(prefix + "[" + i + "]=" + arry[i]);
	    }
      }

      public static void verbose(String text) {
            if ( Factorizer.VERBOSE) System.out.println(text);
      }

      /**
       *
       */
      public Util() {
      }

}

⌨️ 快捷键说明

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