4049 - N Div N Len: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
No edit summary
Line 9: Line 9:


==Restricții și precizări:==
==Restricții și precizări:==
<span style="color: red;"> 1≤n≤10^5</span>
<span style="color: red;"> 1 ≤ n ≤ 10^5</span>
Dacă există mai multe soluții posibile, se acceptă oricare.
Dacă există mai multe soluții posibile, se acceptă oricare.
Pentru <span style="color: red;"> 20 </span>de puncte, <span style="color: red;"> n≤6</span>
Pentru <span style="color: red;"> 20 </span>de puncte, <span style="color: red;"> n ≤6</span>
Pentru <span style="color: red;"> 40 </span>de puncte, <span style="color: red;"> n≤9</span>
Pentru <span style="color: red;"> 40 </span>de puncte, <span style="color: red;"> n ≤9</span>
Pentru <span style="color: red;"> 50 </span>de puncte, <span style="color: red;"> n≤18</span>
Pentru <span style="color: red;"> 50 </span>de puncte, <span style="color: red;"> n ≤18</span>


==Exemplu:==
==Exemplu:==

Revision as of 16:53, 29 April 2023

Cerința:

Se dă un număr natural n. Găsiți orice număr k de exact n cifre care este divizibil cu n.

Date de intrare:

Se citește numărul n.

Date de ieșire:

Se afișează numărul k.

Restricții și precizări:

1 ≤ n ≤ 10^5 Dacă există mai multe soluții posibile, se acceptă oricare. Pentru 20 de puncte, n ≤6 Pentru 40 de puncte, n ≤9 Pentru 50 de puncte, n ≤18

Exemplu:

Intrare 3 Ieșire 123

Explicație:

Numărul 123 are 3 cifre și este divizibil cu 3.

Rezolvare

<syntaxhighlight lang="python" line="1"> def validare_date(n):

   if not isinstance(n, int) or n < 1 or n > 10**5:
       return False
   return True


def find_k(n):

   nrCif = 1
   copie_n = n
   print(n, end=)
   while n:
       nrCif += 1
       n //= 10
       for i in range(1, copie_n):
           print(0, end=)


if __name__ == '__main__':

   n = int(input("Introduceti n: "))
   if validare_date(n):
       find_k(n)
   else:
       if not validare_date(n):
           print("Date de intrare incorecte")

</syntaxhighlight>