Similar to getting the Prime Number
If i (i < n) is a divisor of n ,then n / i ditto.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter pw = new PrintWriter(System.out);
public static TreeSet<Integer> get_devisors(int t) {
Set<Integer> set = new TreeSet<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
for (int i = 1; i <= t / i; i++)
if (t % i == 0) {
set.add(i);
set.add(t / i);
}
return (TreeSet<Integer>) set;
}
public static void main(String[] args) throws IOException {
String[] s = br.readLine().split(" ");
int n = Integer.parseInt(s[0]);
while (n-- > 0) {
s = br.readLine().split(" ");
int t = Integer.parseInt(s[0]);
Set<Integer> res = get_devisors(t);
for (int temp : res) pw.print(temp + " ");
pw.println();
}
pw.flush();
br.close();
}
}