將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
程序分析
(1)n進行分解質因數,應先找到一個最小的質數k
(2)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
(3)如果n不等於k,但n能被k整除,則應打印出k的值,並用n除以k的商,作爲新的正整數n,重複執行第一步。
(4)如果n不能被k整除,則用k+1作爲k的值,重複執行第一步。
代碼:
import org.junit.Test;
public class DecomposePrime {
	/*
	 * 分解質因數的方法
	 */
	public String decomposePrime(int number) {
		StringBuffer tempStr = new StringBuffer();
		tempStr.append(number).append("=");
		for(int i = 2;i <= number;i++) {
			while(number % i == 0 && number != i) {
				number /= i;
				tempStr.append(i).append("*");
			}
			if(number == i) {
				tempStr.append(i);
			}
		}
		return tempStr.toString();
	}
	//測試方法
	@Test
	public void test() {
		System.out.println(decomposePrime(90));//--->90=2*3*3*5
		System.out.println(decomposePrime(50));//--->50=2*5*5
		System.out.println(decomposePrime(30));//--->30=2*3*5
	}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章