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

Problemă de Algoritmică: Se citește de la consolă un număr întreg. Se determină și se afișează prima cifră a acestui număr. Se numără și se afișează apoi câte cifre are acest număr. Am nevoie de schema logica și pseudocod.​

Răspunsuri la întrebare

Răspuns de HACCHACC
0

Răspuns:

Medota Recursiva

1. Citesti numarul.

2. Verifici daca este 0

- da -> nu se intampla nimic

- nu -> imparti numarul la 10 si chemi functia din nou cu noul numar
3. afisezi ultima cifra a numarului;

Exemplu C++:
void ShowDigit(int n)
{
  if(n==0){ return; }
  ShowDigit(n/10);

  cout<<n%10;
}

Explicație:

Cu ajutorul metodei recursive, vei parcurge numarul o singura data, in cel mai eficient mod posibil.

Prin chemarea functiei din nou si afisarea rezultatului dupa aceea, parcurgi mai intai tot numarul, apoi il apelezi, ex: 123 va fi afisat drept 123. Insa, daca vrei sa afisezi numarul in oride inversa, mai intai afezi ultima cifra, iar apoi chemi functia, ex: 123 va fi afisat 321.

Exemplu :

ShowDigit(123) ->
123 nu este e 0 ->

ShowDigit(12)    // 123/10 = 12 ->
12 nu este 0 ->

ShowDigit(1)    // 12/10 = 1 ->

1 nu est e 0 ->

ShowDigit(0)   // 1 /0 = 0 ->
0 este 0 ->

afisam 1%10 = 1
afisam 12 %10 = 2
afisam 123 % 10 = 3

Alte întrebări interesante