308
Cerința
Afişaţi, în ordine crescătoare, toate numerele dintr-un anumit interval care au toate cifrele egale.
Exemplu
egale.in
1 8 30
egale.out
8 9 11 22
egale.in
2 2
egale.out
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99
#include <bits/stdc++.h> using namespace std; ifstream fin("egale.in"); ofstream fout("egale.out"); int main() { int op; fin >> op; assert(op == 1 || op == 2); if (op == 1) { long long a, b; fin >> a >> b; assert(a <= b); long long curr = 1; while (curr <= b) { for (int i = 1; i <= 9; ++i) if (a <= i*curr && i*curr <= b) fout << i*curr << " "; curr = curr*10 + 1; } fout << "\n"; } else { int x; fin >> x; assert(x <= 100); for (int nrCif = 1; nrCif <= x; ++nrCif) { for (int cif = 1; cif <= 9; ++cif) { for (int i = 1; i <= nrCif; ++i) fout << cif; fout << " "; } } fout << "\n"; } return 0; }
Comentarii