👤
a fost răspuns

Cristian, elev în clasa a V-a, a primit o cutie cu N bomboane. Chiar dacă i-ar plăcea, știe că nu este indicat să le mănânce pe toate imediat. L-a întrebat pe tatăl său câte bomboane are voie să mănânce și acesta i-a răspuns că poate mânca doar un număr sănătos de bomboane. Cristian a fost nedumerit. Tatăl i-a explicat că un număr sănătos este un număr natural care poate fi modificat, până se obține o singură cifră, prin eliminarea celei mai mici cifre din el și înlocuirea fiecărei cifre rămase în număr cu diferența dintre valoarea ei și cifra minimă. De exemplu, cifra minimă a numărului 3151 este 1 iar prin eliminarea ei din număr se obține 35, după care prin înlocuirea cifrelor rămase se obține 24 adică cifra 3 se înlocuiește cu cifra 2, cifra 5 cu 4, rezultând numărul 24; se continuă procedeul: cifra minimă a numărului 24 este 2 iar prin eliminarea ei din număr se obține 4, după care prin înlocuirea cifrei rămase se obține 2 moment în care a rămas o singură cifră. Așadar numărul sănătos obținut din 3151 este 2. Ajutați-l pe Cristian să afle câte bomboane are voie să mănânce.

Răspuns :

#include <iostream>
using namespace std;

int main() {
    int n, nr = 0;
    cin >> n;
    if(n <= 9)
      cout << n << endl << n << endl;
    while ( n > 9) {
    int p = 1;
    int min = 9, nn = n;
    while(nn > 0) {
      if(nn % 10 < min)
        min = n % 10;
      nn /= 10;
    }
    nn = n;
    int m = 0;
    while(nn > 0) {
      if(nn % 10 != min) {
        m = m + nn % 10 * p;
        p = p * 10;
      }
      nn /= 10;
    }
    p = 1;
    while(m > 0){
     nn = nn + (abs)(m % 10 - min) * p;
     p *= 10;
     m /= 10;
    }
    nr++;
    if(nr == 1)
      cout << min << endl << nn << endl;
    n = nn;
    }
    cout << n;
    return 0;
}
De fisiere trebuie sa te ocupi tu.