题目
求数字n的所有约数例如:输入n=6,则输出 1,2,3,6输入n=10,则输出1,2,5,10输入n=16,则输出1,2,4,8,16
public static void getDivisor01(int n) {for (int i = 1; i <= n; i++) {if (n % i == 0) {System.out.println(i);}}}
方法一的优化
public static void getDivisor04(int n) {for (int i = 1; i * i <= n; i++) {if (n % i == 0 && i == n / i) {System.out.println(i);} else if (n % i == 0) {System.out.println(i);System.out.println(n / i);}}}
方法二:
public static void getDivisor05(int n) {HashSet<Integer> set = new HashSet<Integer>();for (int i = 1; i <= Math.sqrt(n); i++) {if (n % i == 0) {set.add(i);set.add(n / i);}}System.out.println(set);}
虫部落快搜