We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
importjava.io.*;importjava.util.*;publicclassSolution{privatestaticStack<Integer>data;privatestaticStack<Integer>div_stack;privatestaticStack<Integer>non_div_stack;publicSolution(int[]raw_data){data=newStack<Integer>();div_stack=newStack<Integer>();non_div_stack=newStack<Integer>();for(inti=0;i<raw_data.length;i++)data.push(raw_data[i]);}publicvoidprocess_division(intQ){intiter_num=Q;intcurNum,prime=2;while(iter_num-->0){non_div_stack.clear();while(!data.isEmpty()){curNum=data.pop();if(curNum%prime==0)div_stack.push(curNum);elsenon_div_stack.push(curNum);}prime=next_prime(prime);print_divisible();data=(Stack<Integer>)non_div_stack.clone();}while(!non_div_stack.isEmpty())System.out.println(non_div_stack.pop()+"");}privateintnext_prime(intcurrent_prime){intprime=current_prime;booleanisPrime=false;while(!isPrime){prime++;isPrime=true;for(inti=2;i<prime;i++){if(prime%i==0){isPrime=false;break;}}}returnprime;}privatevoidprint_divisible(){while(!div_stack.isEmpty()){System.out.println(div_stack.pop()+"");}}publicstaticvoidmain(String[]args){/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */Scannersc=newScanner(System.in);intN=sc.nextInt();intQ=sc.nextInt();int[]data=newint[N];for(inti=0;i<N;i++)data[i]=sc.nextInt();Solutionsolution=newSolution(data);solution.process_division(Q);}}
Waiter
You are viewing a single comment's thread. Return to all comments →
Java solution