Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Arrays;
- public class Divider {
- private static int readNumber () {
- Scanner input = new Scanner(System.in);
- return input.nextInt();
- }
- private static boolean checkDivider (int number, int iter) {
- return number % iter == 0;
- }
- private static int[] findDividers (int number) {
- int[] dividers = new int[number];
- boolean divider;
- int size = 0;
- for (int i = 1; i <= number/2; i++) {
- divider = checkDivider(number, i);
- if (divider) {
- dividers[i] = i;
- }
- }
- Arrays.sort(dividers);
- //revert array
- for(int i = 0; i < dividers.length / 2; i++) {
- int temp = dividers[i];
- dividers[i] = dividers[dividers.length - i - 1];
- dividers[dividers.length - i - 1] = temp;
- }
- for (int i : dividers) {
- if (i != 0) {
- size++;
- }
- }
- int[] result = new int[size];
- for (int i = 0; i < dividers.length - 1; i++) {
- if (dividers[i] == 0) {
- break;
- }
- result[i] = dividers[i];
- }
- return result;
- }
- private static String printDividers(int[] dividers) {
- Arrays.sort(dividers);
- String prettyResult = "";
- for (int i = 0; i < dividers.length; i++) {
- prettyResult = prettyResult + dividers[i] + ", ";
- }
- return prettyResult;
- }
- public static void main (String[] args) {
- System.out.print("Enter number: ");
- int number = readNumber();
- System.out.println("Dividers: "
- + printDividers(findDividers(number)) + number);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement