Skip to content

Prime numbers up to Integer.MAX_VALUE for Java

License

Notifications You must be signed in to change notification settings

scravy/primes4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

primes4j

This package has a list of all the prime numbers up to Integer.MAX_VALUE (2147483647) which is itself a prime number. This list contains 105097565 entries. The list consists of a sequence of integers each stored as 4 bytes, thus it is 420390260 bytes in memory.

On top it offers a tiny API to load this list (complete or partially) and for example find the prime factors for a number or check whether a given int is prime or not.

This project is mostly useful for playing around with number theory related problems which can be computed within the realm of int values.

Maven Coordinates

<dependency>
  <groupId>de.scravy</groupId>
  <artifactId>primes4j</artifactId>
  <version>2</version>
</dependency>

Usage Example (1)

import de.scravy.primes.Primes;

public class Example1 {
  public static void main(final String[] args) {
    final Primes primes = Primes.load(10000); // only loads 10000 primes which is faster
    System.out.println(primes.getPrimeFactors(2868)); // prints [2, 2, 3, 239]
  }
}

Usage Example (2)

import de.scravy.primes.Primes;

public class Example {
  public static void main(final String[] args) {
    final Primes primes = Primes.load(); // takes a while as it loads all primes into memory
    System.out.println(primes.isPrime(Integer.MAX_VALUE)); // prints true
  }
}