#include <iostream>
using namespace std;
int main()
{
int n, minim;
cin >> n;
minim = 9;
if (n == 0) minim = 0;
while (n != 0)
{
if (minim > n % 10) minim = n % 10;
n = n / 10;
}
cout << minim;
return 0;
}
Vom initializa variabila minim cu cea mai mare cifra posibila pe care o poate avea un numar, aceea find 9.
Mai departe vom verifica daca n este 0, in acest caz minim va deveni 0. Este necesara aceasta verificare, deoarece in urmatorul while vom intra doar daca n este diferit de 0, iar in cazul in care n este chiar 0 nu vom intra in while, ceea ce va da un rezultat gresit cand n = 0, deci acel if este necesar.
Cum am spus si mai sus, conditia din while este ca n sa fie diferit de 0.
Vom actualiza minim = n % 10 doar daca n % 10 este mai mic decat minim (adica ultima cifra a lui n este mai mica decat minimul curent)
In final afisam minim.
De asemenea, am bolduit partile lipsa din cod.