O problema la informatica
+ explicatia, multumesc !
Doar punctul a) !
Răspunsuri la întrebare
Răspuns:
2002
Explicație:
EXPLICATIE PE CAZ GENERAL:
Citim un numar n, iar apoi n numere naturale.
x fiind unul din aceste numere, vom verifica daca
x%10 > [x/10]%10
insemnand ca vom verifica daca ultima cifra este mai mare decat penultima.
x = x /10 va taia ultima cifra si vom face aceeasi compare cu noul x
pana cand aceasta va deveni 0. (deoarece 0%10 > 0/10%10, adica
0 > 0 este fals)
Daca x ar fi strict crescator, atunci la finalul while-ului
x-ul va fi 0, iar la m se va adauga 0. (adica nu se modifica)
127%10 > 12%10 (7>2)
12%10 > 1%10 (2>1)
1%10 > (1/10)%10 (1>0)
0%10 > 0/10%10 (0>0) FALS deci ne oprim aici
m = m + 0
Daca x NU ar fi strict crescator:
2019%10 > 201%10 (9>1)
201%10 > 20%10 (1>0)
20%10 > 2%10 (0>2) FALS deci ne oprim
m = m + 20
Observam ca while-ul nu a mers mai departe asa ca nu mai taiem cifre si ramanem cu 20, pe care il adaugam la m.
EXPLICATIE PE DATELE PROBLEMEI:
s.c = cifrele in ordine strict crescatoare, deci egale cu 0 dupa while
5 s.c
127 s.c
2019 taiem 9 si 1 iar 0>2 este fals deci ramanem cu 2
1005 taiem 5, iar 0>0 fals deci ramanem cu 100
7 s.c
1900, 0>0 fals deci ramenem cu 1900
0 + 0 + 2 + 100 + 0 + 1900 = 2002