java通过递归实现质因数分解

java通过递归实现质因数分解,代码如下: 
                                                                                                                                
import java.util.Scanner;
public class Prime {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入要分解的数:");
		int num  = scanner.nextInt();
		PrimeSplit(num, 2);
	}
	/**
	 * 获取质因数
	 * @param num 需要分解的数
	 * @param count=2
	 */
	public static void PrimeSplit(int num,int count){
		while( count < num && num % count != 0 ){
			//获取该数最小质数公约数
			count ++;
		}
		if(count < num){
			System.out.print(count + "*");
			//获取商的最小质数公约数
			PrimeSplit(num/count, 2);
		}else{
			//如果商和最小质数公约数相同,那么说明是他本身,循环结束。
			System.out.println(count  );
		}
	}
}


 
  

运行程序,输入分解数,运行结果如下;
请输入要分解的数:71344
2 * 2 * 2 * 2 * 7 * 7 * 7 * 13
 
  


你可能感兴趣的:(java)