java 分解質因數
阿新 • • 發佈:2019-05-07
sys 整數 == 一個 pre 3*3 for pac out
題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先p找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
(2)如果n<>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數n,重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
package Studytest;
public class Prog4 {
public static void main(String [] args){
int n=900;
decompose(n);
}
//因數分解函數
private static void decompose(int n)
{
System.out.print(n+"=");
for(int i=2;i<=n;i++)
{
while (n%i==0&&n!=i)
{
n/=i;
System.out.print(i+"*");
}
if(n==i){
System.out.print(i);
break;
}
}
}
}
運行結果:
java 分解質因數