首先,我們知道:
對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);
}
}
}
}
輸出結果: