Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.88 KB | None | 0 0
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9.  
  10. class Main
  11. {
  12.     public static void main (String[] args) throws java.lang.Exception
  13.     {
  14.         BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
  15.  
  16.         int zestawy = 0;
  17.         try {
  18.             zestawy = Integer.valueOf(bf.readLine());
  19.         } catch (IOException e) {
  20.             e.printStackTrace();
  21.         }
  22.  
  23.         List<Integer> howManySignificant = new ArrayList<>();
  24.  
  25.         for (int i = 0; i < zestawy; i++) {
  26.  
  27.             int numerekOd = 0;
  28.             int numerekDo = 0;
  29.             int counter = 0;
  30.             try {
  31.                 String numbersString = bf.readLine();
  32.                 String[] numbers = numbersString.split(" ");
  33.  
  34.                 numerekOd = Integer.valueOf(numbers[0]);
  35.                 numerekDo = Integer.valueOf(numbers[1]);
  36.  
  37.             } catch (IOException e) {
  38.                 e.printStackTrace();
  39.             }
  40.  
  41.             for (int j = numerekOd; j <= numerekDo; j++) {
  42.  
  43.                 if (isSignificant(j)) {
  44.                  counter++;
  45.                 }
  46.  
  47.             }
  48.  
  49.             howManySignificant.add(counter);
  50.         }
  51.  
  52.         for (int i : howManySignificant) {
  53.             System.out.println(i);
  54.         }
  55.     }
  56.    
  57.     public static boolean isSignificant(int number) {
  58.         List<Integer> dzielniki = new ArrayList<>();
  59.  
  60.         for (int i = number-1; i > 1 ; i--) {
  61.             if (number % i == 0) {
  62.                 dzielniki.add(i);
  63.             }
  64.         }
  65.  
  66.         Double pierwiastek = Math.sqrt(number);
  67.         Double srednia = dzielniki.stream()
  68.                 .mapToDouble(i -> i.doubleValue())
  69.                 .sum()/dzielniki.size();
  70.  
  71.         return srednia.compareTo(pierwiastek) <= 0;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement