4225 - Ad Cif: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: n = int(input()) s = 0 max_dreapta = -1 while n > 0: cifra = n % 10 if cifra > max_dreapta: s += cifra max_dreapta = cifra n //= 10 print(s) |
Pop Giulia (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/4225/adcif] | |||
==Cerința== | |||
Se dă un număr natural nenul n. Trebuie să determinați suma anumitor cifre din n. O cifră poate fi adunată la sumă numai dacă ea este strict mai mare decât toate celelalte din dreapta sa. De exemplu, dacă n = 3712531, atunci suma va fi 7+5+3+1. De exemplu, 7 se adaugă la sumă pentru că în dreapta sa se află cifrele 1,2,5,3,1, toate strict mai mici. La fel, la sumă s-a adunat 3 deoarece în dreapta sa se află doar cifra 1. S-a adunat și 1 pentru că în dreapta sa nu se află nicio cifră. | |||
==Date de intrare== | |||
Programul citește de la tastatură numărul n. | |||
==Date de ieșire== | |||
Programul va afișa pe ecran numărul S, reprezentând suma cifrelor menționate în cerință. | |||
==Restricții și precizări== | |||
1 ≤ n ≤ 2.000.000.000 | |||
==Exemplul 1== | |||
;Intrare | |||
:4713 | |||
;Ieșire | |||
:10 | |||
==Explicație== | |||
Se adună cifrele 7+3 = 10. | |||
==Exemplul 2== | |||
;Intrare | |||
:12345 | |||
;Ieșire | |||
:5 | |||
==Explicație== | |||
Suma este formată doar din cifra unităților. | |||
==Exemplul 3== | |||
;Intrare | |||
:987654321 | |||
;Ieșire | |||
:45 | |||
==Explicație== | |||
Se adună toate cifrele. | |||
==Rezolvare== | |||
<syntaxhighlight lang="python" line> | |||
n = int(input()) | n = int(input()) | ||
s = 0 | s = 0 | ||
max_dreapta = -1 | max_dreapta = -1 | ||
while n > 0: | while n > 0: | ||
cifra = n % 10 | cifra = n % 10 | ||
Line 9: | Line 60: | ||
max_dreapta = cifra | max_dreapta = cifra | ||
n //= 10 | n //= 10 | ||
print(s) | print(s) | ||
</syntaxhighlight> |
Latest revision as of 12:37, 20 May 2023
Sursa: [1]
Cerința[edit | edit source]
Se dă un număr natural nenul n. Trebuie să determinați suma anumitor cifre din n. O cifră poate fi adunată la sumă numai dacă ea este strict mai mare decât toate celelalte din dreapta sa. De exemplu, dacă n = 3712531, atunci suma va fi 7+5+3+1. De exemplu, 7 se adaugă la sumă pentru că în dreapta sa se află cifrele 1,2,5,3,1, toate strict mai mici. La fel, la sumă s-a adunat 3 deoarece în dreapta sa se află doar cifra 1. S-a adunat și 1 pentru că în dreapta sa nu se află nicio cifră.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul S, reprezentând suma cifrelor menționate în cerință.
Restricții și precizări[edit | edit source]
1 ≤ n ≤ 2.000.000.000
Exemplul 1[edit | edit source]
- Intrare
- 4713
- Ieșire
- 10
Explicație[edit | edit source]
Se adună cifrele 7+3 = 10.
Exemplul 2[edit | edit source]
- Intrare
- 12345
- Ieșire
- 5
Explicație[edit | edit source]
Suma este formată doar din cifra unităților.
Exemplul 3[edit | edit source]
- Intrare
- 987654321
- Ieșire
- 45
Explicație[edit | edit source]
Se adună toate cifrele.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> n = int(input()) s = 0 max_dreapta = -1 while n > 0:
cifra = n % 10 if cifra > max_dreapta: s += cifra max_dreapta = cifra n //= 10
print(s) </syntaxhighlight>