online: 5; azi: 682; total: 52688 Manual clasa a ix a - Algoritmi - Algoritmi pentru prelucrarea cifrelor

Manual clasa a IX a

Algoritmi

Algoritmi pentru prelucrarea cifrelor

Se introduce de la tastatură un şir de numere naturale , până la citirea numărului 0. Să se afişeze toate tripletele de numere introduse consecutiv care au proprieta tea că al doilea şi al treilea număr sunt egale cu câtul , respectiv cu restul dintre împărțirea primului număr la suma cifrelor sale.
# include < iostream >
using namespace std ;
int main ()
{
int numar1, numar2, numar3;
cout << " Introduceti sirul de numere (se opreste la intalnirea cifrei 0):" << endl ;
cin >> numar1;
while (numar1 != 0 )
{
cin >> numar2;
if (numar2 == 0 )
{
break ;
}
cin >> numar3;
if (numar3 == 0 )
{
break ;
}
int suma_cifrelor = 0 ;
int auxiliar = numar1;
while (auxiliar != 0 )
{
suma_cifrelor += auxiliar % 10 ;
auxiliar /= 10 ;
}
int cat = numar1 / suma_cifrelor ;
int rest = numar1 % suma_cifrelor ;
if (numar2 == cat && numar3 == rest)
{
cout << numar1 << " " << numar2 << " " << numar3 << endl ;
}
numar1 = numar2;
}
return 0 ;
}

Programul citeste de la tastatura numerele numar1 , numar2 , numar3 pana la intalnirea cifrei 0 . Pentru fiecare triplet de numere, se calculeaza suma cifrelor primului numar cu ajutorul unui while . Apoi, se calculeaza catul si restul dintre impartirea primului numar la suma cifrelor sale.
Dupa ce s-au calculat catul si restul, se verifica daca al doilea numar este egal cu catul, iar al treilea numar este egal cu restul. Daca da, atunci tripletul este afisat cu ajutorul functiei cout .
La final, variabila numar1 este actualizata cu valoarea lui numar2 , pentru a putea verifica proprietatea pentru urmatoarea tripla de numere.