700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 分解质因数Java实现

分解质因数Java实现

时间:2024-05-04 08:24:24

相关推荐

分解质因数Java实现

//传入一个整数,返回分解的质数,例如num=18,返回[[2,1][3,2]],18=2^1+3^2public static ArrayList<ArrayList<Integer>> factorization (int num) {ArrayList<ArrayList<Integer>> result = new ArrayList<>();int i = 2; //质数从2开始累计int data = 0; //记录当前的除数(即所操作的质数)int index = 0; //记录data的次方while(i<= num){//i==num有两种情况,(1)24=2^3+3^1; (2)18=2^1+3^2//第(1)种情况当前所操作的质数在上一轮循环会进入第(30-38)步的代码//第(2)种情况当前所操作的质数在上一轮循环会进入第(24-27)步的代码if(i==num){ ArrayList<Integer> list = new ArrayList<>();if(data==i){list.add(data);list.add(index+1);result.add(list);}else{list.add(i);list.add(1);result.add(list);}break;}else if(num % i == 0){data = i;num = num/i;index++; //次方数加1}else{//把上一轮数加到数组if(data != 0){ArrayList<Integer> list = new ArrayList<>();list.add(data);list.add(index);result.add(list);index = 0;data = 0;}i++;}}return result;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。