Есть две последовательности чисел:
A[0], A[1], ... , A[n].
B[0], B[1], ... , B[m]. Нужно проделать следующие операции с последовательностью A:
Удалить элементы, индексы которых кратны B[0].
Из оставшихся элементов удалить те, индексы которых кратны B[1].
Повторите этот процесс до B[m].
Вывести оставшиеся элементы.
Код программы#include <iostream>
#include <vector>
#include<iomanip>
using namespace std;
vector <int> divisible_func(vector <int>& a, vector <int>& b) {
vector <int> c;
for (size_t i = 0; i < b.size(); i++) {
for (size_t j = 0; j < a.size(); j++) {
if (j % b[i] != 0) {
c.push_back(a[j]);
}
}
a = c;
c.resize(0);
}
a.push_back(-1);
return a;
}
int main()
{
int elem1;
int elem2;
vector <int> a;
vector <int> b;
vector <int> count;
while (cin >> elem1) {
if (elem1 == -1) break;
a.push_back(elem1);
}
while (cin >> elem2) {
if (elem2 == -1) break;
b.push_back(elem2);
}
count = divisible_func(a, b);
for (size_t i = 0; i < count.size(); i++) {
cout << count[i] << setw(count.size());
}
return 0;
}