Java分解質因數

Java分解質因數


最小的質數爲2

while循環實現

	public static void primeFactor(int n) {
		int k = 2;//先用最小的2開始分解
		while (k <= n) {
           if (k == n) {
               System.out.print(k);
               break;
           } else if (n % k == 0) {
               System.out.print(k + "*");
               n = n / k;	//此時的n值作爲下一次的n,之後分解
           } else {//上面都是用最小的2去分解,如果2分解不了,k++
               k++;
           }
		}
	}

for循環實現

	public static void primeFactor(int n) {
		for (int i = 2; i <= n; i++) {	//先用最小的質數2進行分解
			if (n%i==0) {
				System.out.print(i);
				n = n/i;//更新被除數
				i--;	//抵消除數自增,使其還爲2
				if (n==1) {	//如果原來的n除以i等於1,說明因數是其本身,就是最後一個因數了
					break;	//結束循環,同時防止打印*
				}
				System.out.print("*");
			}
		}
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章