Determinarea primei cifre a unui numar este un algoritm elementar foarte des intalnit.
Daca incercam o descriere in pseudocod, putem scrie:
ALGORITM prima_cifra ESTE:
CITESTE nr;
CAT_TIMP (nr>9)
nr/=10;
SFARSIT_CAT_TIMP
TIPARESTE nr;
SFARSIT_ALGORITM.
Adica, cat timp numarul nostru are mai mult de o cifra, taie ultima cifra din numar.
In C++ implementarea este imediata:
#include <iostream>
using namespace std;
int main(){
int nr;
cin >> nr;
while (nr>9){
nr /= 10;
}
cout << nr;
return 0;
}
Sigur ca putem scrie si o functie care sa o apelam in programul principal si care poate fi folosita cu usurinta in mai multi algoritmi care au nevoie sa prelucreze prima cifra a unui numar:
#include <iostream>
using namespace std;
int pc (int a){
while (a>9)
{
a /= 10;
}
return a;
}
int main()
{
int nr;
cin >> nr;
cout << pc(nr);
return 0;
}