#include<iostream>
using namespace std;
int main()
{
//Пусть есть некоторый массив удовлетворяющий условиям задачи
int N = 9;
int *arr = new int[N];
arr[0] = 24;
arr[1] = 12;
arr[2] = 18;
arr[3] = 6;
arr[4] = 36;
arr[5] = 96;
arr[6] = 54;
arr[7] = 72;
arr[8] = 48;
//Отсортируем его по возрастанию
for (int i = 0; i < N - 1; i++)
for (int j = i + 1; j < N; j++)
if (arr[i] > arr[j]){
int buff = arr[i];
arr[i] = arr[j];
arr[j] = buff;
}
//Убираем элементы не подходящие нам по условию
for (int i = N - 1; i >= 0; i--) //Начинаем перебор с самого большого числа в массиве.
for (int j = 0; j < i; j++) //Проверяем все оставшиеся элементы на выполнения условия
if (arr[i] % arr[j] != 0){ //Если не выполняется деления без остатка на j
for (int k = j; k < N - 1; k++)
arr[k] = arr[k + 1];//то затираем значение массива с индексом j, следующим за ним.
N--;//Уменьшаем размер массива.
}
//Выводим результат.
for (int i = 0; i < N; i++)
cout << arr[i] << " ";
delete [] arr;
return 0;
}