/**
* 求输入整形数字的质数因子
* @param srcNumStr
*/
public static List<Integer> getPrimFactorList(String srcNumStr){
if (srcNumStr==null){
System.out.println("请输入整型数字")
return null
}
if (srcNumStr.trim().isEmpty()){
System.out.println("请输入整型数字")
return null
}
Integer integer = Integer.valueOf(srcNumStr)
int ret=1
for (int i = 0
ret*=10
}
int ret1=ret*2+14
if (!(integer>=1 && integer <= ret1)){
System.out.println("输入的整型数字超过数据范围")
return null
}
List<Integer> primeNumList = getPrimeList(integer)
ArrayList<Integer> primeFactorList = new ArrayList<>()
boolean flag=true
for (int i = 0
if (i==primeNumList.size()){
break
}
Integer tempPrime = primeNumList.get(i)
if (flag){
if (integer%tempPrime==0){
primeFactorList.add(tempPrime)
flag=false
i-=1
integer/=tempPrime
continue
}else {
flag=true
continue
}
}else {
if (integer%tempPrime==0){
primeFactorList.add(tempPrime)
flag=false
i-=1
integer/=tempPrime
continue
}else {
flag=true
continue
}
}
}
return primeFactorList
}
/**
* 求整型数字的质数
* @param srcNum
* @return
*/
public static List<Integer> getPrimeList(int srcNum){
ArrayList<Integer> primeList = new ArrayList<>()
boolean flag=true
for (int i = 2
for (int j = 2
if (i%j==0){
flag=false
break
}else {
flag=true
break
}
}
if (flag){
primeList.add(i)
}
}
return primeList
}