0355 - N Minim: Difference between revisions
Andor Giulia (talk | contribs) No edit summary |
MiclausIoana (talk | contribs) No edit summary |
||
Line 5: | Line 5: | ||
Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere întregi, separate prin spaţii. | Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere întregi, separate prin spaţii. | ||
== Date de ieșire == | == Date de ieșire == | ||
Programul afișează pe ecran | 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 == | == Restricții și precizări == | ||
* 1 ≤ n ≤ 1000 | * 1 ≤ n ≤ 1000 | ||
* cele '''n''' numere citite vor avea cel mult '''9''' cifre | * cele '''n''' numere citite vor avea cel mult '''9''' cifre | ||
== Exemplu == | == Exemplu 1 == | ||
; Date de intrare | ; Date de intrare | ||
:5 | :5 | ||
Line 15: | Line 15: | ||
; Date de ieșire | ; Date de ieșire | ||
:6 | :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 == | == Rezolvare == | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n = int(input(" | def citeste_n(): | ||
while True: | |||
for i in range(n): | try: | ||
n = int(input("Introduceti numarul de valori: ")) | |||
if n >= 1 or n < 1000: | |||
if | 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> | </syntaxhighlight> |
Revision as of 15:40, 27 March 2023
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>