0186 - Cif Min: Difference between revisions
Pagină nouă: = Cerinţa = Se citește de la tastatură un număr natural <code>n</code>, apoi <code>n</code> numere naturale. Să se afişeze cel mai mic număr care poate fi scris folosind cifra minimă a fiecărui număr citit. = Date de intrare = Programul citește de la tastatură numărul <code>n</code>, iar apoi cele <code>n</code> numere naturale, separate prin spaţii. = Date de ieşire = Programul afișează pe ecran numărul <code>MIN</code>, cel mai mic număr care poate fi... |
No edit summary |
||
Line 24: | Line 24: | ||
=== Lipește codul aici === | === Lipește codul aici === | ||
1 | <syntaxhighlight lang="python" line="1"> | ||
n = int(input()) | |||
a = [0] * 1001 | |||
for i in range(1, n+1): | |||
x = int(input()) | |||
cifmin = 10 | |||
while x: | |||
if x % 10 < cifmin: | |||
cifmin = x % 10 | |||
x //= 10 | |||
a[i] = cifmin | |||
for i in range(1, n): | |||
for j in range(i+1, n+1): | |||
if a[i] > a[j]: | |||
a[i], a[j] = a[j], a[i] | |||
poz = 1 | |||
while a[poz] == 0: | |||
poz += 1 | |||
a[poz], a[1] = a[1], a[poz] | |||
for i in range(1, n+1): | |||
print(a[i], end='') | |||
</syntaxhighlight> |
Latest revision as of 14:10, 14 December 2023
Cerinţa[edit | edit source]
Se citește de la tastatură un număr natural n
, apoi n
numere naturale. Să se afişeze cel mai mic număr care poate fi scris folosind cifra minimă a fiecărui număr citit.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n
, iar apoi cele n
numere naturale, separate prin spaţii.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numărul MIN
, cel mai mic număr care poate fi scris folosind cifra minimă a fiecărui număr citit.
Restricţii şi precizări[edit | edit source]
0 < n < 1000
- cele
n
numere citite vor fi mai mici decât1.000.000.000
Exemplu:[edit | edit source]
Intrare
5 100 312 276 985 5021
Ieșire
10025
Încărcare soluție[edit | edit source]
Lipește codul aici[edit | edit source]
<syntaxhighlight lang="python" line="1"> n = int(input())
a = [0] * 1001
for i in range(1, n+1):
x = int(input())
cifmin = 10
while x:
if x % 10 < cifmin:
cifmin = x % 10
x //= 10
a[i] = cifmin
for i in range(1, n):
for j in range(i+1, n+1):
if a[i] > a[j]:
a[i], a[j] = a[j], a[i]
poz = 1
while a[poz] == 0:
poz += 1
a[poz], a[1] = a[1], a[poz]
for i in range(1, n+1):
print(a[i], end=)
</syntaxhighlight>