From 86935cd0bf0742c0989e16f4f718ce3a8e93192b Mon Sep 17 00:00:00 2001 From: Mattrixwv Date: Sun, 4 Dec 2022 13:09:50 -0500 Subject: [PATCH] Updated algorithm to get factors of number --- src/main/java/com/mattrixwv/NumberAlgorithms.java | 4 ++-- src/main/java/com/mattrixwv/exceptions/InvalidResult.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mattrixwv/NumberAlgorithms.java b/src/main/java/com/mattrixwv/NumberAlgorithms.java index 7a95562..91e253f 100644 --- a/src/main/java/com/mattrixwv/NumberAlgorithms.java +++ b/src/main/java/com/mattrixwv/NumberAlgorithms.java @@ -238,7 +238,7 @@ public class NumberAlgorithms{ } public static List getFactors(long goalNumber) throws InvalidResult{ //You need to get all the primes that could be factors of this number so you can test them - Double topPossiblePrime = Math.ceil(Math.sqrt(goalNumber)); + Double topPossiblePrime = Math.ceil(goalNumber / 2.0); List primes = getPrimes(topPossiblePrime.longValue()); ArrayList factors = new ArrayList<>(); @@ -272,7 +272,7 @@ public class NumberAlgorithms{ } public static List getFactors(BigInteger goalNumber) throws InvalidResult{ //You need to get all the primes that could be factors of this number so you can test them - BigInteger topPossiblePrime = goalNumber.sqrt(); + BigInteger topPossiblePrime = goalNumber.divide(BigInteger.TWO); List primes = getPrimes(topPossiblePrime); ArrayList factors = new ArrayList<>(); diff --git a/src/main/java/com/mattrixwv/exceptions/InvalidResult.java b/src/main/java/com/mattrixwv/exceptions/InvalidResult.java index 2f57c90..3133a71 100644 --- a/src/main/java/com/mattrixwv/exceptions/InvalidResult.java +++ b/src/main/java/com/mattrixwv/exceptions/InvalidResult.java @@ -6,7 +6,7 @@ package com.mattrixwv.exceptions; -public class InvalidResult extends Exception{ +public class InvalidResult extends RuntimeException{ private static final long serialVersionUID = 1L; public InvalidResult(){ super();