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


import java.util.Scanner;

/*題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
 程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
 (1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
 (2)如果n<>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數n,重復執行第一步。
 (3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。*/

public class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("請輸入一個正整數:");
		int n = sc.nextInt();
		StringBuffer sb = new StringBuffer();
		sb.append(n).append("=");
		for (int i = 2; i <= n; i++) {
			if (i == n) {
				sb.append(i);
				break;
			}
			if (n % i == 0) {
				sb.append(i).append("*");
				n = n / i;
				i = 1;
			}
		}
		System.out.println("這個正整數分解質因數:" + sb);
	}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM