Răspuns :

Răspuns:

citeste x

cat timp (x!=0) executa

{

     cx←x

     S=0

     cat timp (cx!=0) executa

     {

           S←S+cx%10

           cx=cx/10

     }

     daca (S=10) atunci

     {

           scrie x

     }

     citeste x

}

Explicație:

L-am copiat pe x in cx ca sa-i pot calcula suma cifrelor fara sa pierd valoarea pe care o memoreaza, deoarece algoritmul de calculare a sumei cifrelor unui numar consta in eliminarea cifrelor numarului de la dreapta la stanga, care se adauga pe rand in variabila care memoreaza suma cifrelor.

Daca prima valoare citita (cea dinainte de primul "cat timp") este 0, algoritmul sare intreaga structura si nu afiseaza nimic, pentru ca nu s-a citit niciun numar diferit de 0.