391
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