3786 - Toate
Cerinţa
De n numere sunt date, Şi cifra nouă e-n toate, Află ce număr devine Maxim făr’de nouă-n sine?
Notă
Vreme trece, vreme vine, Toate-s vechi şi nouă toate; Ce e rău şi ce e bine Tu te-ntreabă şi socoate;
(Mihai Eminescu, Glossă)
Date de intrare
Fișierul de intrare toate.in conține pe prima linie un număr n, iar pe urmatoarele linii cele n numere naturale.
Date de ieşire
Fișierul de ieșire toate.out va conține pe prima linie numărul maxim cerut.
Restricții și precizări
- 1 ≤ n ≤ 100.000
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 1.000.000.000
Exemplu
- toate.in
- 5
923 926 329 429 3959
- toate.out
- 42
Explicatie
Numărul maxim cerut este 42.
Rezolvare
<syntaxhighlight lang="python" line>
- deschidem fisierul pentru citire
with open('toate.in', 'r') as f:
# citim numărul de numere din fișier n = int(f.readline().strip()) print("n =", n)
# citim numerele din fișier și le stocăm într-o listă numere = [int(f.readline().strip()) for i in range(n)] print("numere =", numere)
- găsim numărul maxim fără cifra nouă
max_fara_noua = 0
for numar in numere:
if '9' not in str(numar): if numar > max_fara_noua: max_fara_noua = numar
- scriem rezultatul în fișierul toate.out
with open('toate.out', 'w') as f:
f.write(str(max_fara_noua)) print("Valoarea maximă scrisă în fișier.")
</syntaxhighlight>