3786 - Toate

From Bitnami MediaWiki
Revision as of 17:47, 2 April 2023 by Petras.du.ioana (talk | contribs) (Am creat de la zero.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>

  1. 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)
  1. 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
  1. 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>