Informatică, întrebare adresată de greeneyes27, 8 ani în urmă

Buna daca mi poate explica ce face n=n/10 in algoritmul dat acolo mersi mult

Anexe:

andrei750238: Sterge ultima cifra din n

Răspunsuri la întrebare

Răspuns de VxF
2

Să zicem că iniţial n = 2468.

La prima trecere prin buclă se procesează ultima cifră, 8.

La a doua trecere prin buclă ar trebui să se proceseze următoarea cifră, 6.
Dar noi avem formulă simplă de acces numai pentru ultima cifră, penultima șamd. fiind mai complicate.

Dacă la a doua trecere n nu ar mai conţine iniţiala ultimă cifră 8, ci ar fi doar 246, accesul la 6 s-ar face prin același formulă de acces la ultima cifră.

Pentru asta la sfârșitul trecerii prin buclă modificăm n pentru următoarea trecere.

\begin{array}{crrl}Trecere&n&n~/~10&n~\%~10\\1.&2468&246&8\\2.&246&24&6\\3.&24&2&4\\4.&2&0&2\end{array}

  • n % 10 = ultima cifră — o procesăm (adăugăm la suma cifrelor)
  • n / 10 = restul cifrelor — le asignăm la n pentru prelucrat la următoarea trecere
Alte întrebări interesante