1922 - N Mod 25

From Bitnami MediaWiki

Cerința[edit | edit source]

Se dau numerele naturale N și X. Aflați dacă N este divizibil cu 2X și dacă N este divizibil cu 5X.

Date de intrare[edit | edit source]

Fișierul de intrare nmod25.in conține numărul X și numărul N.

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."

Pe următoarea linie se va afișa mesajul DA dacă numărul este divizibil cu 2X sau NU dacă nu este divizibil, pe a treia linie mesajul DA dacă numărul este divizibil cu 5X sau NU dacă nu este divizibil.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."

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

  • N are cel mult 100.001 cifre
  • 0 < X < 5

Exemplu 1[edit | edit source]

Intrare
3
50008
Ieșire
Datele de intrare corespund restricțiilor impuse.
DA
NU

Explicație[edit | edit source]

50008 este divizibil cu 2 la puterea 3 dar nu si cu 5 la puterea 3.

Exemplu 2[edit | edit source]

Intrare
10
800055
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1">

  1. 1922 - N Mod 25

def conditii(x, n):

   return 0 < x < 5 and\
       0 < n <= 100_001


def nmod25(x, n):

   # orice numar A este divizibil cu B daca A % B == 0 (citit A modulo B)
   # În Python, ** este operatorul de ridicare la putere
   print("DA" if n % (2 ** x) == 0 else "NU")
   print("DA" if n % (5 ** x) == 0 else "NU")


if __name__ == "__main__":

   x = int(input())
   n = int(input())
   if not conditii(x, n):
       print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare corespund restricțiilor impuse.")
       nmod25(x, n)

</syntaxhighlight>