Cerința
Valentin, elev în clasa a V-a, e fascinat de cifre. Îi place să mute cifrele unui număr de pe o poziție pe alta. Astfel, pentru un număr N
și o cifră k
, mută toate cifrele egale cu k
la început, după care așază celelalte cifre în ordinea în care apăreau în N
. Desigur, există și situații în care numărul cifrelor lui N
se micșorează sau situații în care numărul N
nu se modifică.
Exemplu
cifre006.in
134112 1
cifre006.out
3 111342
Explicație
cifra 1
apare de 3
ori.
134112
→ 111342
, cele trei cifre 1
se mută la început iar cifrele 3
, 4
, 2
se pun la sfârșit în ordinea în care au apărut în 134112
.
#include <bits/stdc++.h> using namespace std; ifstream cin("cifre006.in"); ofstream cout("cifre006.out"); int main() { int n , a[10] , p = 1 , k , cnt = 0 , nr = 0; cin >> n >> k; int aux = n; while(aux != 0) { if(aux % 10 == k) cnt++; aux /= 10; } cout << cnt << endl; for(int i = 0 ; i < cnt ; ++i) cout << k; while(n != 0) { if(n % 10 != k) a[p] = n % 10 , p++; n /= 10; } for(int i = p - 1 ; i >= 1 ; --i) cout << a[i]; return 0; }