import org.junit.Test;
import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;
import java.io.*;
import java.util.stream.Collectors;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// int n = Integer.parseInt(br.readLine().trim());
System.out.println(getYZ(30));
System.out.println(getYZ2(30));
}
public static int getYZ(int n){
int res = 0;
if(n==0) return res;
else {
for(int i = 1; i <= Math.sqrt(n); i++){
if(n%i==0){
if(i==n/i){
res+=1;
}else {
res+=2;
}
}
}
}
return res;
}
public static int getYZ2(int n) {
int tot = 1;
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
int x = 0;
while (n % i == 0) {
n/=i;
x++;
}
tot *= x + 1;
}
}
// if (n>1) tot *= 2;
return tot;
}
@Test
public void t1() {
System.out.println(yinzi(304));
printZYS(304);
System.out.println(Main.getYZ2(304));
System.out.println(Main.getYZ(304));
}
public void printZYS(int n) {
String[] s = new String[50];
int flag = 0;
int m = n;
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
n/=i;
s[flag++] = String.valueOf(i);
--i;
}
}
if (flag <=1){
System.out.println("质数:" + s[0]);
return;
}
System.out.print(m + " = ");
for (int i = 0; i < flag; i++) {
if (i != flag - 1) {
System.out.print(s[i] + " * ");
} else {
System.out.println(s[i]);
}
}
}
public List<Integer> yinzi(int x){
ArrayList<Integer> ret = new ArrayList<>();
for (int i = 1; i <= (x >> 1); i++) {
if (x % i == 0) {
ret.add(i);
}
}
ret.add(x);
return ret;
}
//求解质数个数元素
public List<Integer> zhishu(int x){
ArrayList<Integer> ret = new ArrayList<>();
//质因数个数只有一个
for (int i = 2; i <=x; i++) {
if (isZhiShu(i)) {
ret.add(i);
}
}
return ret;
}
public boolean isZhiShu(int x) {
int flag = 0;
for (int i = 2; i <=x; i++) {
if (x % i == 0) {
++flag;
x/=i;
--i;
}
}
return flag > 1 ? false : true;
}
}
下面是运行的结果