分解质因数(Java)

来源:互联网 发布:阿里云域名续费优惠 编辑:程序博客网 时间:2024/04/27 21:55
分解质因数
每个合数都可以写成几个质数相乘的形式,几个质数叫做这个合数的质因数。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-1if(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;    }} 


1 0
原创粉丝点击