Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GeorgiPachov/1edfc77c56ed228210bc to your computer and use it in GitHub Desktop.
Save GeorgiPachov/1edfc77c56ed228210bc to your computer and use it in GitHub Desktop.
@Override
public long getSmallestMultiple(int upperBound) {
long result = 1;
for (int i = 2; i <= upperBound; i++) {
int[] divisors = getDivisors(i);
int pointer = 0;
while (result%i != 0){
result*=divisors[pointer++];
}
}
return result;
}
private static int[] getDivisors(int number) {
int[] preliminaryArray = new int[number];
int pointer = 0;
for (int i = 2; i <= number; i++) {
if (number % i == 0) {
preliminaryArray[pointer++] = i;
number /= i;
i--;
}
}
int[] realArray = new int[pointer];
System.arraycopy(preliminaryArray, 0, realArray, 0, pointer);
return realArray;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment