assign2 q3 update calculatePrimes

This commit is contained in:
SowinskiBraeden committed 2025-03-19 14:09:40 -07:00
1 parent 821b4d2e51
commit 8000141018
1 file changed
+16 -14
+16 -14
View File
@@ -23,7 +23,7 @@ public class Primes {
* @param n int * @param n int
*/ */
public Primes(int n) { public Primes(int n) {
primes = new ArrayList<Boolean>(n); primes = new ArrayList<Boolean>();
calculatePrimes(n); calculatePrimes(n);
} }
@@ -57,17 +57,7 @@ public class Primes {
* @return boolean * @return boolean
*/ */
public boolean isPrime(int n) { public boolean isPrime(int n) {
if (n <= 1) { return primes.get(n);
return false;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
} }
/** /**
@@ -75,8 +65,20 @@ public class Primes {
* @param n int number of primes * @param n int number of primes
* */ * */
private void calculatePrimes(int n) { private void calculatePrimes(int n) {
for (int i = 0; i < n; i++) { List<Integer> numbers = new ArrayList<Integer>();
primes.add(isPrime(i));
for (int i = 0; i <= n; i++) {
numbers.add(i);
primes.add(i, false);
}
for (int i = 0; i < numbers.size() - 1; i++) {
if (numbers.get(i) != -1 && i != 0 && i != 1) {
for (int j = 2; j < (n / i) + 1; j++) {
numbers.set(i * j, -1);
}
primes.set(i, true);
}
} }
} }