50道編程題值04:將一個正整數分解質因數

package com.demo;

import java.util.*;

/**
 * Created by 莫文龍 on 2018/3/26.
 */

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

public class Demo4 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        if (num == 1) System.out.print(1);
        int a = num;
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 2 ; i <= num ; i ++) {
            if (num % i == 0) {
                list.add(i);
                num = num / i;
                i = 1;
            }
        }
        if (list.size() == 1) {
            System.out.print(1 + "*" + a);
            return;
        }
        for (int i = 0 ; i < list.size() - 1 ; i ++) {
            System.out.print(list.get(i) + "*");
        }
        System.out.println(list.get(list.size() - 1));
    }

}

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