353
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;
}
Comentarii