当前位置 : 主页 > 编程语言 > java >

2种方法分解质因子

来源:互联网 收集:自由互联 发布时间:2021-06-28
分解质因子 package L4Loop;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/* * 分解质因子 * * 90 * 2*3*3*5 * */public class PrimeFactorization {/* * 分解质因数,递归调用 * */static List factor2(
分解质因子
package L4Loop;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
 * 分解质因子
 * 
 * 90
 * 2*3*3*5 
 * */
public class PrimeFactorization {
	/*
	 * 分解质因数,递归调用
	 * */
	static List
 
   factor2(int num){
		List
  
    li=new ArrayList
   
    (); if(isPrime(num)){ li.add(num); } else{ for(int i=2;i<=num;i++){ while(num%i==0){ li.add(i); num=num/i; factor2(num); } } } return li; } /* * 判断素数 质数 * */ static boolean isPrime(int num){ for(int i=num-1;i>1;i--){ if(num%i==0){ return false; } } return true; } /* * 分解质因数,普通方法实现 * * */ static List
    
      factor(int num){ List
     
       li=new ArrayList
      
       (); for(int i=2;i<=num;i++){ while(num%i==0){ li.add(i); num=num/i; //factor(num); } } return li; } public static void main(String[] args) { System.out.println("请输入正整数"); Scanner in=new Scanner(System.in); int ig=in.nextInt(); System.out.println(factor(ig)); System.out.println(factor2(ig)); } }
      
     
    
   
  
 
上一篇:tst
下一篇:2种方法的阶乘计算
网友评论