Imi rezolvati si mie va rog frumos acest exercitiu de informatica in C++? Este urgent.

Un bancher are mai multe seifuri, iar fiecare are un cifru. Pentru a nu uita cifrul pentru
fiecare seif îl scrie pe o foaie de hârtie, dar codificat: fiecare cifră va fi înlocuită cu diferenţa
dintre cifra 9 şi cifra respectivă. Bancherul are un program pe calculator care genereaza un sir
de numere pana la intalnirea lui 0, ajutaţi-l pe bancher să codifice fiecare numar ştiind că
numerele generate de calculator încep cu o cifră diferită de cifra 9.
Ex: Daca se citeste un nr 386821 sa va afişa 613178

Răspuns :

#include <iostream>

using namespace std;

int main()

{

   int x, nrc, d, f;

   cin >> x;

   while (x!=0)

   {

       d=0;

       nrc=0;

       f=x;

       while (f!=0)

       {

           nrc++;

           f=f/10;

       }

       for (f=1; f<=nrc; f++) d=d*10+9;

       cout << endl << d-x << endl << endl;

       cin >> x;

   }

   return 0;

}