4225 - Ad Cif: Diferență între versiuni
(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)) |
Fără descriere a modificării |
||
(Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator) | |||
Linia 1: | Linia 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 | ||
Linia 9: | Linia 60: | ||
max_dreapta = cifra | max_dreapta = cifra | ||
n //= 10 | n //= 10 | ||
print(s) | print(s) | ||
</syntaxhighlight> |
Versiunea curentă din 20 mai 2023 12:37
Sursa: [1]
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
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)