0621 - Numar Lipsa
Cerința
Se dă un șir cu n numere naturale. Determinați cel mai mic număr natural nenul care nu apare printre numerele date.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieșire
Programul va afișa pe ecran numărul determinat X.
Restricții și precizări
- 1 ≤ n ≤ 100;
- cele n numere citite vor fi mai mici decât 1.000.000.000;
Exemplul 1
- Intrare
- 5
- 4 2 7 6 1
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- Cel mai mic număr natural nenul care nu apare în șirul dat este: 3
Exemplul 2
- Intrare
- 0
- 1 2 4
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="">
- 0621 - Numar Lipsa
def gaseste_numar(n, numere):
numere_date = set(numere) for i in range(1, max(numere_date) + 2): if i not in numere_date: return i
if __name__ == "__main__":
n = int(input("Introduceți numărul de cifre din șir: ")) numere = list(map(int, input("Introduceți cifrele separate prin spațiu: ").split())) if n < 1 or n > 100 or max(numere) > 1000000000: print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.") X = gaseste_numar(n, numere) print(f"Cel mai mic număr natural nenul care nu apare în șirul dat este: {X}")
</syntaxhighlight>