Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.81 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Arrays;
  3.  
  4.  
  5. public class Divider {
  6.  
  7.     private static int readNumber () {
  8.         Scanner input = new Scanner(System.in);
  9.         return input.nextInt();
  10.     }
  11.  
  12.     private static boolean checkDivider (int number, int iter) {
  13.         return number % iter == 0;
  14.     }
  15.  
  16.     private static int[] findDividers (int number) {
  17.         int[] dividers = new int[number];
  18.         boolean divider;
  19.         int size = 0;
  20.  
  21.         for (int i = 1; i <= number/2; i++) {
  22.             divider = checkDivider(number, i);
  23.             if (divider) {
  24.                 dividers[i] = i;
  25.             }
  26.         }
  27.  
  28.         Arrays.sort(dividers);
  29.         //revert array
  30.         for(int i = 0; i < dividers.length / 2; i++) {
  31.             int temp = dividers[i];
  32.             dividers[i] = dividers[dividers.length - i - 1];
  33.             dividers[dividers.length - i - 1] = temp;
  34.         }
  35.  
  36.         for (int i : dividers) {
  37.             if (i != 0) {
  38.                 size++;
  39.             }
  40.         }
  41.  
  42.         int[] result = new int[size];
  43.  
  44.         for (int i = 0; i < dividers.length - 1; i++) {
  45.             if (dividers[i] == 0) {
  46.                 break;
  47.             }
  48.             result[i] = dividers[i];
  49.         }
  50.         return result;
  51.     }
  52.  
  53.     private static String printDividers(int[] dividers) {    
  54.         Arrays.sort(dividers);
  55.         String prettyResult = "";
  56.         for (int i = 0; i < dividers.length; i++) {
  57.             prettyResult = prettyResult + dividers[i] + ", ";
  58.         }
  59.         return prettyResult;
  60.     }
  61.  
  62.     public static void main (String[] args) {
  63.  
  64.         System.out.print("Enter number: ");
  65.         int number = readNumber();
  66.         System.out.println("Dividers: "
  67.             + printDividers(findDividers(number)) + number);
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement