359
Cerința
Se dau patru numere naturale n a x y. Să se afișeze elementele mulțimii M, cu următoarele proprietăți:
- toate elementele lui
Msunt numere naturale mai mici sau egale cun; ase află înM;- dacă
bse află înM, atuncib+xșib+yse află înM.
Date de intrare
Programul citește de la tastatură numerele n a x y.
Date de ieșire
Programul va afișa pe ecran elementele mulțimii M, în ordine crescătoare, separate prin câte un spațiu.
Restricții și precizări
1 ≤ n ≤ 100001 ≤ x , y ≤ 100000 ≤ a ≤ 10000
Exemplu
Intrare
25 3 4 11
Ieșire
3 7 11 14 15 18 19 22 23 25
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 10000;
int n, x, y;
bool apartine[1 + MAX_N] ;
void genereaza(int b) {
if (b <= n && !apartine[b]) {
apartine[b] = true;
genereaza(b + x);
genereaza(b + y);
}
}
int main() {
int a;
cin >> n >> a >> x >> y;
genereaza(a);
for (int i = 0; i <= n; i++)
if (apartine[i])
cout << i << ' ';
return 0;
}
Comentarii