题目描述
试除法求约数
样例
import java.util.*;
public class Main{
public static void get_divisors(int x){
ArrayList<Integer> list = new ArrayList<>(); // 创建一个list容器存放每一个约数
for(int i = 1 ; i <= x / i ; i ++ ){
if(x % i == 0) {
list.add(i);
//这里特判一下,因为约数有可能是两个约数相同,比如4*4,5*5,它本只有一个约数,所以就要特判一下
if(i != x / i ) list.add(x / i);
}
}
Collections.sort(list);//排序从小到大
//增强for循环
//冒号左边是类型,右边是数组或者集合
for(int i : list){
System.out.print(i + " ");
}
System.out.println();
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
while(n -- > 0){
int a = scan.nextInt();
get_divisors(a);
}
}
}