3200 - Nea Dragulin
Cerinţa
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
Programul citește de la tastatură numerele numar şi k.
Date de ieşire
Programul va afișa pe ecran restul împărţirii numărului obţinut la 72.
Restricții și precizări
- numar, k ∈ Ν
- 1 ⩽ numar, k ⩽ 2.000.000.000
Exemplu
- Intrare
- 51 3
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 63
Explicație
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
<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
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.