228
Cerința
Se dă un număr X
. Să se afle cel mai mic număr Y ≥ X
cu proprietatea că Y
are doar cifre impare.
Date de intrare
Programul citește de la tastatură numărul X
.
Date de ieșire
Programul va afișa pe ecran numărul Y
.
Restricții și precizări
1 ≤ X ≤ 10^18
Exemplu
Intrare
22
Ieșire
31
#include <bits/stdc++.h> using namespace std; int main() { unsigned long long n , ogl = 0 ; int a[20] , b[20] , p = 0 , ok = 0; cin >> n; while(n != 0) { a[p] = n % 10; n /= 10; p++; } int j = 0; for(int i = p-1 ; i >= 0 ; --i) { b[j] = a[i]; j++; } for(int i = 0 ; i < p ; ++i) { int k = 0; if(b[i] % 2 == 0 && ok == 0) { cout << b[i] + 1; ok = 1; k = 1; } if(b[i] % 2 == 1 && ok == 0) cout << b[i]; if(ok == 1 && k == 0) cout << 1; } }
Comentarii