0355 - N Minim

From Bitnami MediaWiki
Revision as of 15:40, 27 March 2023 by MiclausIoana (talk | contribs)

Sursă: [1]

Cerință

Se dau n numere întregi. Calculaţi cel mai mic dintre cele n numere date.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere întregi, separate prin spaţii.

Date de ieșire

Programul afișează pe ecran pt fiecare vlaoare introdusa corect textul "Valorile au numarul de cifre corespunzator." iar in caz contrar "Valorile nu au numarul de cifre corespunzator.", ulterior va fi afisat numarul MIN, reprezentând cel mai mic dintre cele n numere date.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor avea cel mult 9 cifre

Exemplu 1

Date de intrare
5
7 6 9 6 8
Date de ieșire
6

Exemplu 2

Date de intrare
3
1, 6, 76968549875
Date de ieșire
1

Exemplu 3

Date de intrare
5
17 65 29 67 8
Date de ieșire
8

Rezolvare

<syntaxhighlight lang="python" line="1"> def citeste_n():

   while True:
       try:
           n = int(input("Introduceti numarul de valori: "))
           if n >= 1 or n < 1000:
               print("Numarul este cuprins intre 1 si 1000.")
           else:
               print("Numarul trebuie sa fie cuprins intre 1 si 1000.")
               break
       except ValueError:
           print("Trebuie introduse doar numere intregi.")

def nrcifre(nr):

   nrcif = 0
   while nr != 0:
       nrcif += 1
       nr //= 10
   return nrcif

def citeste_valori(n):

   valori = []
   for i in range(n):
       valoare = input("Introduceti o valoare: ")
       try:
           cifre = nrcifre(int(valoare))
           if cifre <= 9:
               print("Valorile au numarul de cifre corespunzator.")
               valori.append(int(valoare))
           else:
               print("Valorile nu au numarul de cifre corespunzator.")
               break
       except ValueError:
           print("Trebuie introduse doar valori cu mai putin de 9 cifre.")
           break
   return valori

def numarul_minim(valori):

   min = None
   for x in valori:
       if min is None or x < min:
           min = x
   return min

if __name__ == '__main__':

   n = citeste_n()
   valori = citeste_valori(n)
   min = numarul_minim(valori)
   print("Numarul minim este:", min)

</syntaxhighlight>