4036 - KDivnn

De la Universitas MediaWiki

Cerința

Se dau n şi k numere naturale nenule. Determinaţi cel mai mare număr natural de cel mult k cifre care divide pe nn.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran numărul cerut.

Restricții și precizări

2 ≤ n ≤ 10.000.000 1 ≤ k ≤ 12 ==Exemplu==: Intrare

6 3 Ieșire

972

Explicație

Cel mai mare număr de trei cifre care divide pe 66 este 972.

Rezolvare

def cel_mai_mare_divizor_nn(n, k):

   # Inițializăm cel mai mare număr cu k cifre
   cel_mai_mare_numar = 10**k - 1
   # Cautăm cel mai mare număr care să fie divizibil cu nn
   while cel_mai_mare_numar >= 0:
       if cel_mai_mare_numar % (n * n) == 0:
           return cel_mai_mare_numar
       cel_mai_mare_numar -= 1
   return -1  # Dacă nu găsim un astfel de număr, returnăm -1

if __name__ == "__main__":

   # Citim datele de intrare
   n, k = map(int, input().split())
   # Apelăm funcția și afișăm rezultatul
   rezultat = cel_mai_mare_divizor_nn(n, k)
   print(rezultat)

python divizor_nn.py