Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.lang.*;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.List;
- class Main
- {
- public static void main (String[] args) throws java.lang.Exception
- {
- BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
- int zestawy = 0;
- try {
- zestawy = Integer.valueOf(bf.readLine());
- } catch (IOException e) {
- e.printStackTrace();
- }
- List<Integer> howManySignificant = new ArrayList<>();
- for (int i = 0; i < zestawy; i++) {
- int numerekOd = 0;
- int numerekDo = 0;
- int counter = 0;
- try {
- String numbersString = bf.readLine();
- String[] numbers = numbersString.split(" ");
- numerekOd = Integer.valueOf(numbers[0]);
- numerekDo = Integer.valueOf(numbers[1]);
- } catch (IOException e) {
- e.printStackTrace();
- }
- for (int j = numerekOd; j <= numerekDo; j++) {
- if (isSignificant(j)) {
- counter++;
- }
- }
- howManySignificant.add(counter);
- }
- for (int i : howManySignificant) {
- System.out.println(i);
- }
- }
- public static boolean isSignificant(int number) {
- List<Integer> dzielniki = new ArrayList<>();
- for (int i = number-1; i > 1 ; i--) {
- if (number % i == 0) {
- dzielniki.add(i);
- }
- }
- Double pierwiastek = Math.sqrt(number);
- Double srednia = dzielniki.stream()
- .mapToDouble(i -> i.doubleValue())
- .sum()/dzielniki.size();
- return srednia.compareTo(pierwiastek) <= 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement