問題描述:
首先寫出判斷素數的方法,隨後寫出分解質因數的方法;
☞ compose:創作
☞ decompose:分解
☞ prime number:素數
☞ factor:因子/因素
1> 實現
/**
* judge prime
* @param a
* @return true or false
*/
public static boolean isPrime(int a){
boolean res = false;
if(a==1){
return false;
}
for(int i=2;i<Math.sqrt(a);i++){
if(a%i==0){
res = false;
break;
}else{
res = true;
}
}
return res;
}
/**
* decompose prime factor
* @param a
* @return list of factors
*/
public static List<Integer> dpf(int a){
List<Integer> res = new ArrayList<>();
for(int i=2;i<a+1;i++){
while(a%i==0){
res.add(i);
a/=i;
}
}
return res;
}