Skip to content

Instantly share code, notes, and snippets.

@stanleydc
Created September 22, 2016 21:02
Show Gist options
  • Save stanleydc/331ecbd3ee9efbf16ca5098cf158e091 to your computer and use it in GitHub Desktop.
Save stanleydc/331ecbd3ee9efbf16ca5098cf158e091 to your computer and use it in GitHub Desktop.
import java.util.*;
public class Solution {
static boolean isPrimeNumber(int number){
for ( int i = 2; i <= number/2; i++ ){
if( number%i == 0 ){
return false;
}
}
return true;
}
static int findLargestAbsolutePrimeInRange(int maximum){
List<Integer> primes = new ArrayList<Integer>();
for ( int i = 1; i < maximum; i++ ){
boolean isPrime = isPrimeNumber(i);
if(isPrime){
primes.add(i);
}
}
int maxSum = 0;
int largestPrime = 0;
for ( int x : primes ){
String prime = Integer.toString(x);
char[] parts = prime.toCharArray();
int sum = 0;
for ( int i = 0; i < parts.length; i++ ){
sum+=Character.getNumericValue(parts[i]);
}
if(sum > maxSum){
maxSum = sum;
largestPrime = x;
}
}
return largestPrime;
}
public static void main(String[] args){
System.out.println(findLargestAbsolutePrimeInRange(17));
System.out.println(findLargestAbsolutePrimeInRange(23));
System.out.println(findLargestAbsolutePrimeInRange(15));
System.out.println(findLargestAbsolutePrimeInRange(100));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment