本文實例講述了Java實現整數分解質因數的方法。分享給大家供大家參考,具體如下:
題目內容:
每個非素數(合數)都可以寫成幾個素數(也可稱為質數)相乘的形式,這幾個素數就都叫做這個合數的質因數。
比如,6可以被分解為2x3,而24可以被分解為2x2x2x3。
現在,你的程序要讀入一個[2,100000]范圍內的整數,然后輸出它的質因數分解式;當讀到的就是素數時,輸出它本身。
輸入格式:
一個整數,范圍在[2,100000]內。
輸出格式:
形如:
n=axbxcxd
或
n=n
所有的符號之間都沒有空格,x是小寫字母x。
輸入樣例:
18
輸出樣例:
18=2x3x3
代碼示例:
import java.util.Scanner;
public class Main {
public static boolean isPrime(int i)
{
boolean isPrime = true;
//除到i的平方根就可以判斷
for (int j = 2; j<=Math.sqrt(i);j++)
{
if(i%j==0)
isPrime = false;
}
return isPrime;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("億速云 - 分解質因數測試:");
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String out = n + "=";
if(isPrime(n))
{
out = out+ n;
}
else
{
while(n!=1)
{
for(int j=2;j<=n;j++)
{
//對最后一個進行特殊處理
if(j==n)
{
n=1;
out = out + j;
break;
}
if(n%j==0)
{
n=n/j;
out = out + j+"x";
break;
}
}
}
}
System.out.println(out);
in.close();
}
}
運行結果:



PS:這里再為大家推薦幾款計算工具供大家進一步參考借鑒:
在線分解質因數計算器工具:
http://tools.jb51.net/jisuanqi/factor_calc
在線一元函數(方程)求解計算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學計算器在線使用_高級計算器在線計算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計算器_標準計算器:
http://tools.jb51.net/jisuanqi/jsq
更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。