3200 - Nea Dragulin

From Bitnami MediaWiki
Revision as of 15:29, 28 April 2023 by Robert Manc (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa[edit | edit source]

Nea Drăgulin are un numar natural pe care îl scrie de k ori, unul după altul. Aflaţi restul împărţirii numărului astfel obţinut la 72.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele numar şi k.

Date de ieşire[edit | edit source]

Programul va afișa pe ecran restul împărţirii numărului obţinut la 72.

Restricții și precizări[edit | edit source]

  • numar, k ∈ Ν
  • 1 ⩽ numar, k ⩽ 2.000.000.000

Exemplu[edit | edit source]

Intrare
51 3
Ieșire
Datele de intrare corespund restricțiilor impuse.
63

Explicație[edit | edit source]

Nea Drăgulin scrie numărul 51 de 3 ori obţinând numărul 515151. Restul împărţirii acestuia la 72 este 63.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def validare_date(numar, k):

   flag = False
   if 0 <= int(numar) <= 2_000_000_000 and 0 <= int(k) <= 2_000_000_000:
           flag = True
   return flag


def rest_impartire(numar, k):

   numar_concatenat = int(str(numar) * k)
   rest = numar_concatenat % 72
   return rest


if __name__ == '__main__':

   numar, k = map(int, input().split())
   if validare_date(numar, k):
       print("\nDatele de intrare corespund restricțiilor impuse.\n")
       print(rest_impartire(int(numar), int(k)))
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicație[edit | edit source]

Acest program primește ca date de intrare două numere întregi: numărul și k, iar apoi calculează restul împărțirii numărului format prin concatenarea numărului dat de k ori, la 72.

Validarea datelor de intrare este realizată prin funcția validare_date(), care verifică dacă cele două numere date se încadrează într-un anumit interval.

Funcția rest_impartire() primește ca parametri numărul și k și îi concatenează k ori într-un număr întreg numit numar_concatenat. Apoi, funcția calculează restul împărțirii numar_concatenat la 72, utilizând operatorul modulo %.

În funcție de validarea datelor de intrare, se afișează restul împărțirii, sau un mesaj corespunzător.