1907 - Numar Minim: Difference between revisions
Pagină nouă: == Cerinţa == Georgiana, pregătindu-se de olimpiada locală de matematică, a primit de la doamna profesoară următoarea problemă: Dându-se numerele '''n''' şi '''k''', să se afle cel mai mic număr de '''n''' cifre, cu restul împărţirii la '''9''' egal cu '''k'''. Dacă o ajutaţi, ea va primi nota '''10''' iar voi veţi primi '''100''' de puncte. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi numărul '''k''' == Date de ieşir... |
Diana Butuza (talk | contribs) |
||
| Line 10: | Line 10: | ||
== Exemplu == | == Exemplu == | ||
; Intrare | ; Intrare | ||
: 2 1 | : 2 | ||
: 1 | |||
; Ieșire | ; Ieșire | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: 10 | : 10 | ||
== Explicație == | == Explicație == | ||
'''10''' este cel mai mic număr de '''2''' cifre care da restul '''1''' la împărţirea cu '''9'''. | '''10''' este cel mai mic număr de '''2''' cifre care da restul '''1''' la împărţirea cu '''9'''. | ||
Revision as of 20:26, 31 March 2023
Cerinţa
Georgiana, pregătindu-se de olimpiada locală de matematică, a primit de la doamna profesoară următoarea problemă: Dându-se numerele n şi k, să se afle cel mai mic număr de n cifre, cu restul împărţirii la 9 egal cu k. Dacă o ajutaţi, ea va primi nota 10 iar voi veţi primi 100 de puncte.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi numărul k
Date de ieşire
Programul va afișa pe ecran numărul cerut.
Restricții și precizări
- 0 ⩽ k ⩽ 8
- 1 ⩽ n ⩽ 1.000.000
Exemplu
- Intrare
- 2
- 1
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 10
Explicație
10 este cel mai mic număr de 2 cifre care da restul 1 la împărţirea cu 9.
Rezolvare
<syntaxhighlight lang="python" line> def validare_date_numar(n):
flag = False
if n.isdigit():
if 0 <= int(n) <= 1_000_000:
flag = True
return flag
def validare_date(k):
flag = False
if k.isdigit():
if 0 <= int(k) <= 8:
flag = True
return flag
def print_num(n, k):
numar =
if k == 0:
numar = "1" + "0" * (int(n) - 2) + "8"
elif k == 1:
numar = "1" + "0" * (int(n) - 2) + "0"
elif k == 2:
numar = "1" + "0" * (int(n) - 2) + "1"
elif k == 3:
numar = "1" + "0" * (int(n) - 2) + "2"
elif k == 4:
numar = "1" + "0" * (int(n) - 2) + "3"
elif k == 5:
numar = "1" + "0" * (int(n) - 2) + "4"
elif k == 6:
numar = "1" + "0" * (int(n) - 2) + "5"
elif k == 7:
numar = "1" + "0" * (int(n) - 2) + "6"
elif k == 8:
numar = "1" + "0" * (int(n) - 2) + "7"
return numar
if __name__ == '__main__':
n = input()
k = input()
if validare_date_numar(n) and validare_date(k):
print("\nDatele de intrare corespund restricțiilor impuse.\n")
numar = print_num(n, int(k))
print(numar)
else:
print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>