4036 - KDivnn

From Bitnami MediaWiki
Revision as of 22:05, 21 December 2023 by Mraa (talk | contribs) (Pagină nouă: ==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 ce...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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