18.黑板上的數塗顏色


疫情過后希望小學終於又重新開學了,3年2班開學第一天的任務是:將后面的黑板報重新制作。
黑板上已經寫上了N個正整數,同學們需要給這每個數分別上一種顏色,為了讓黑板報既美觀又有學習意義
老師要求同種顏色的所有數都可以被這個顏色中最小的那個數整除,現在幫小朋友們算算最少需要多少種顏色,給這N個數進行上色

輸入描述
第一行有一個正整數N,其中 1 <= n <=100
第二行有N個int型數,保證輸入數據在[1,100]范圍中,表示黑板上各個正整數的值

輸出描述
輸出只有一個整數,為最少需要的顏色種數

輸入
3
2 4 6
輸出
1
說明:
所有數都能被2整除

輸入
4
2 3 4 9
輸出
2
說明:
2與4塗一種顏色,4能被2整除
3與9塗另一種顏色,9能被3整除
不能塗同一種顏色

 

查看代碼

import java.util.*;

public class Demo18 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.nextLine());
        String[] split = sc.nextLine().split(" ");

        ArrayList<Integer> list = new ArrayList<>();
        for(int i = 0; i < n; i++){
            list.add(Integer.parseInt(split[i]));
        }

        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });

        if(list.get(0) == 1){
            System.out.println(1);
            return;
        }

        for(int i = 0; i < list.size(); i++){
            int temp = list.get(i);
            for(int j = i + 1; j < list.size(); ){
                if(list.get(j) % temp == 0) list.remove(j);
                else j++;
            }
        }
        System.out.println(list.size());
    }
}

 

總結:練的太少,思路崎嶇。

 


免責聲明!

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



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