• + 0 comments

    JAVA

    public static List<Integer> waiter(List<Integer> number, int q) {
        // Write your code here
            List<Integer> prime = getPrime(q);
            List<Integer> num = new ArrayList<>();
            for(int p:prime){
                for(int i =0;i<number.size();i++){
                    if(number.get(i)%p==0){
                        num.add(number.get(i));
                        number.remove(i);
                        i--;
                    }
                }
                Collections.reverse(number);
            }
            Collections.reverse(number);
            num.addAll(number);
            return num;
        }
        
         public static List<Integer> getPrime(int number){
            List<Integer> prime = new ArrayList<>();
            int p = 2;
            while(prime.size()<number){
                boolean flag = false;
                for(int i=2; i<=Math.sqrt(p); i++) {
                    if(p%i == 0) {
                        flag = !flag;
                        break;
                    }  
                }
                if(!flag) {
                    prime.add(p);
                }
                p++;
            }
            
            return prime;
        }