0186 - Cif Min: Difference between revisions

From Bitnami MediaWiki
Raul (talk | contribs)
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...
 
Raul (talk | contribs)
No edit summary
 
Line 24: Line 24:


=== Lipește codul aici ===
=== Lipește codul aici ===
1
<syntaxhighlight lang="python" line="1">
​n = int(input())
n = int(input())


a = [0] * 1001
a = [0] * 1001


for i in range(1, n+1):
for i in range(1, n+1):


    x = int(input())
    x = int(input())


    cifmin = 10
    cifmin = 10


    while x:
    while x:


        if x % 10 < cifmin:
        if x % 10 < cifmin:


            cifmin = x % 10
            cifmin = x % 10


        x //= 10
        x //= 10


    a[i] = cifmin
    a[i] = cifmin


for i in range(1, n):
for i in range(1, n):


    for j in range(i+1, n+1):
    for j in range(i+1, n+1):


        if a[i] > a[j]:
        if a[i] > a[j]:


            a[i], a[j] = a[j], a[i]
            a[i], a[j] = a[j], a[i]


poz = 1
poz = 1


while a[poz] == 0:
while a[poz] == 0:


    poz += 1
    poz += 1


a[poz], a[1] = a[1], a[poz]
a[poz], a[1] = a[1], a[poz]


for i in range(1, n+1):
for i in range(1, n+1):


    print(a[i], end=<nowiki>''</nowiki>)
    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ât 1.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>