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ă.
Exemplu
cifra2.in
736191
cifra2.out
1 6258 2
Explicație
a. cifra minimă este 1
b. 736191
→ 7369
→ 6258
c. 6258
→ 658
→ 436
, se continuă 436
→ 46
→ 13
, se continuă 13
→ 3
→ 2
.
#include <bits/stdc++.h> using namespace std; ifstream fin("cifra2.in"); ofstream fout("cifra2.out"); int main() { int n , ok =0 , cmin = 10; fin >> n; int x = n; while(x != 0) { if(x % 10 < cmin) cmin = x % 10; x /= 10; } fout << cmin << endl; while(n > 9) { cmin = 10; x = n; int p = 1; while(x != 0) { if(x % 10 < cmin) cmin = x % 10; x /= 10; } x = n; n = 0; while(x != 0) { if(x % 10 != cmin) { n = p *((x % 10) - cmin) + n; p *= 10; } x /= 10; } if(ok == 0) { fout << n << endl; ok++; } } fout << n; fin.close(); fout.close(); return 0; }