4036 - KDivnn

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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