100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 将一个数分解为质因数的乘积

将一个数分解为质因数的乘积

时间:2023-08-01 12:16:48

相关推荐

将一个数分解为质因数的乘积

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()));}}

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