4049 - N Div N Len: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
Line 26: | Line 26: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def | def validare_date(n): | ||
if not isinstance(n, int) or n < 1 or n > 10**5: | if not isinstance(n, int) or n < 1 or n > 10**5: | ||
return False | return False | ||
return True | return True | ||
def find_k(n): | def find_k(n): | ||
nrCif = 1 | |||
copie_n = n | |||
print(n, end='') | |||
while n: | |||
nrCif += 1 | |||
for i in range( | n //= 10 | ||
for i in range(1, copie_n): | |||
print(0, end='') | |||
if __name__ == '__main__': | 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> | </syntaxhighlight> |
Revision as of 15:52, 26 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>