首页 > 编程知识 正文

将一个数分解为质因数的乘积是什么,如何将一个数分解为质数乘积

时间:2023-05-04 20:38:37 阅读:273105 作者:2641

import java.util.ArrayList;import java.util.Arrays;/** * 返回一个数的质因数的列表 * input:8 * return:[2,2,2] * * input:12 * return:[2,2,3] * * * 基本思想: * 先判断该数是否是质数,如果是直接加入到集合中并返回。 * 如果不是,求给定数的一个因式分解 例如12=3*4,12=2*6 那么使用3,4也行;2,6也可以 * 然后分别将因式分解中的两个数递归调用该方法。 */public class Get_prime_factor { public static boolean is_prime(int data){ if(data<=2&&data>0){ return true; } for(int i=2;i<=data/2;i++){ if(data%i==0) { return false; } } return true; } public static void help(int data,ArrayList list){ int first=0; int second=0; if(is_prime(data)){ list.add(data); return; } for(int i=2;i<=data/2;i++) { if (data % i == 0) { first = i; second = data / i; break; } } help(first,list); help(second,list); } public static ArrayList<Integer> get_prime_factor(int data){ ArrayList<Integer> list=new ArrayList<Integer>(); help(data,list); return list; } public static void main(String[] args) { ArrayList<Integer> prime_factor = get_prime_factor(18); System.out.println(Arrays.toString(prime_factor.toArray())); }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。