Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.TreeSet;
- public class _3_Biggest3PrimeNumbers {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner scan = new Scanner(System.in);
- String inputLine = scan.nextLine().trim();
- String[] numStr = inputLine.split("[) (]+");
- int[] numbers = new int[numStr.length - 1];
- for (int i = 0; i < numbers.length; i++) {
- numbers[i] = Integer.parseInt(numStr[i + 1]);
- }
- boolean foundSumOf3BiggestPrimeNums = false;
- if (numbers.length > 2) {
- TreeSet<Integer> numbSet = new TreeSet<>();
- for (int num : numbers) {
- numbSet.add(num);
- }
- int countPrimes = 0;
- int sumOfBiggestPrimes = 0;
- for (Integer num : numbSet.descendingSet()) {
- if (countPrimes == 3 || num < 2) {
- break;
- } else if (num > 1 && num < 8) {
- if (num == 2 || num == 3 || num == 5 || num == 7) {
- countPrimes++;
- sumOfBiggestPrimes += num;
- }
- } else if (num > 10 && num % 2 != 0) {
- boolean isPrime = true;
- int numSqrt = (int) Math.sqrt(num);
- for (int i = numSqrt; i > 2; i--) {
- if (num % i == 0) {
- isPrime = false;
- break;
- }
- }
- if (isPrime) {
- countPrimes++;
- sumOfBiggestPrimes += num;
- }
- }
- }
- if (countPrimes == 3) {
- foundSumOf3BiggestPrimeNums = true;
- System.out.println(sumOfBiggestPrimes);
- }
- }
- if (!foundSumOf3BiggestPrimeNums) {
- System.out.println("No");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement