3200 - Nea Dragulin: Difference between revisions
Robert Manc (talk | contribs) Pagină nouă: == 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... |
Robert Manc (talk | contribs) No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 12: | Line 12: | ||
: 51 3 | : 51 3 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 63 | : 63 | ||
== Explicație == | == Explicație == | ||
| Line 40: | Line 40: | ||
</syntaxhighlight> | </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. | |||
Latest revision as of 15:29, 28 April 2023
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.