天天看點

簡單的java實作分解質因數。

首先,我們知道:

對n進行分解質因數,應先找到一個最小的質數i,然後按下述步驟完成:

a)如果這個質數恰等于n,則說明分解質因數的過程已經結束,列印出即可。

b) 如果n不等于i,i能被n整除,則應列印出i的值,并用n除以i的商,作為新的正整數n,重複執行第一步。

package com.moon;
import java.util.Scanner;
public class Divide{
	public static void main(String[] args){
		Scanner a=new Scanner(System.in);
		System.out.println("請輸入一個正整數(大于1)");
		int b=a.nextInt();
		suShu(b);
		System.out.println();
	}
	public static void suShu(int b){
		int w=0;
		F1:for(int i=2;i<b;i++){
			if(b%i==0){
				w++;
			}
			}
		if(w==0){
			System.out.print("你輸入的數是素數");	
		} 
		if(b!=2){
		System.out.print(b+"=");
			fenJie(b);
		}
		else{
			System.out.print("你輸入的數是素數");	
			}
	}
	public static void fenJie(int b){
		F1:for(int i=2;i<=b;i++){
			if(b%i==0&&b!=i){
				System.out.print(i+"*");
				b=b/i;
				i=1;
				fenJie(b);
				break;
			}else if(b==i){
				System.out.print(i);
			}
					
		}
	}	
}
	
           

輸出結果:

簡單的java實作分解質因數。
簡單的java實作分解質因數。