题目描述:
给定正整数 n,请问有多少个质数是 n 的约数。
代码:
package lanqiao;import java.math.BigInteger;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);TreeSet<Long> set = new TreeSet<Long>();long n = sc.nextInt();int count = 1;for (long i = 2; i * i <= n; i++) {if (n % i == 0) {set.add(i);while (n % i == 0) {n /= i;System.out.println(n);}}}for (long s : set){count ++;}System.out.println(count);}
}