分解质因数
每个合数都可以写成几个质数相乘的形式,几个质数叫做这个合数的质因数。12=2*2*3
分解15 分别除以2,3,4,。。。,14
每个合数都可以写成几个质数相乘的形式,几个质数叫做这个合数的质因数。12=2*2*3
分解15 分别除以2,3,4,。。。,14
分解16 分别除以2,3,4。。。。15
//递归的思想:自己调用自己
public class Zhiyinshu {
public static void main(String[] args) {
factor(18);
}
static void factor(int number){//number 要被分解的合数
for(int i=2;i<=number-1;i++){//循环开始从2除到n-1
if(number%i==0){//如果能被整除,立即输出i,i是一个质因数
System.out.print(i+"\t");
//判断number/i是素数,将直接打印不用再分解质因数
if(isRaw(number/i)){
System.out.print(number/i);
}else{
factor(number/i);//递归将商继续与i=2开始相除
}
break;
}
}
}
//判断是否为素数
static boolean isRaw(int number){//参数number 只在此方法域中生效
boolean flag=true;
for(int i=2;i<=Math.sqrt(number);i++){
if(number%i==0){
flag=false;
}
}
return flag;
}
}