4149 - Inlocuire Max: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Se dă un vector cu n numere naturale. Să se înlocuiască fiecare element cu cel mai mare număr care se poate obține din cifrele lui și să se afișeze elementele astfel obținute în ordine inversă. ==Date de intrare== Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului. ==Date de ieșire== Programul afișează pe ecran elementele vectorului, după înlocuire, în ordine in... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
:Datele de intrare nu corespund restricțiilor impuse. | :Datele de intrare nu corespund restricțiilor impuse. | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#4149 - Inlocuire Max | #4149 - Inlocuire Max | ||
def transform(numar): | def transform(numar): | ||
Line 30: | Line 30: | ||
return int(''.join(map(str, cifre))) | return int(''.join(map(str, cifre))) | ||
if __name__ == '__main__': | |||
# citirea numarului de elemente | # citirea numarului de elemente | ||
n = int(input()) | n = int(input()) | ||
Line 50: | Line 50: | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 21:09, 23 April 2023
Cerința
Se dă un vector cu n numere naturale. Să se înlocuiască fiecare element cu cel mai mare număr care se poate obține din cifrele lui și să se afișeze elementele astfel obținute în ordine inversă.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.
Date de ieșire
Programul afișează pe ecran elementele vectorului, după înlocuire, în ordine inversă, separate prin exact un spațiu.
Restricții și precizări
- 1 ≤ n ≤ 200;
- elementele vectorului vor fi cuprinse între 1 și 1.000.000
Exemplul 1
- Intrare
- 4
- 170 104 24 2500
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 5200 42 410 710
Exemplul 2
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="1">
- 4149 - Inlocuire Max
def transform(numar):
cifre = [int(x) for x in str(numar)] cifre.sort(reverse=True) return int(.join(map(str, cifre)))
if __name__ == '__main__':
# citirea numarului de elemente n = int(input())
# citirea listei de elemente v = [int(x) for x in input().split()]
# verificarea restricțiilor de intrare if n >= 1 and n <= 200 and all(x > 0 and x <= 1000000 for x in v): print("Datele de intrare corespund restricțiilor impuse.")
# aplicarea functiei de transformare la fiecare element din lista v_transform = [transform(x) for x in v]
# afisarea valorilor transformate, in ordine inversa for i in range(n - 1, -1, -1): print(v_transform[i], end=' ') else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>