0910 - KPrefix: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Cerință== | ==Cerință== | ||
Să se scrie o funcție Python care primește ca parametri două numere '''n''' și '''k''' și determină numărul format din primele '''k''' cifre ale lui '''n'''. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire. | Să se scrie o funcție Python care primește ca parametri două numere '''n''' și '''k''' și determină numărul format din primele '''k''' cifre ale lui '''n'''. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire. | ||
==Date de intrare== | |||
Se citește un '''n''', un număr natural mai mic decât '''2.000.000.000''' și '''k''', un număr natural mai mic sau egal cu numărul de cifre al lui '''n'''. | |||
==Date de ieșire== | |||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa '''numar_k''', un număr natural format din primele '''k''' cifre ale lui '''n'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții de precizări== | ==Restricții de precizări== | ||
Line 10: | Line 18: | ||
==Exemplu== | ==Exemplu== | ||
===Exemplul 1=== | ===Exemplul 1=== | ||
; | ;Intrare | ||
: | :27594 | ||
:3 | |||
;Ieșire | ;Ieșire | ||
: | :Datele introduse corespund restricțiilor impuse. | ||
:275 | |||
==Important== | ==Important== | ||
Line 26: | Line 36: | ||
===Rezolvare ver. 1=== | ===Rezolvare ver. 1=== | ||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def validare(n, k): | |||
return len(str(n)) >= int(k) and int(n) < 2_000_000_000 | |||
def prefix(n, k, rezultat): | def prefix(n, k, rezultat): | ||
numar_prefix = int(str(n)[:k]) | numar_prefix = int(str(n)[:k]) | ||
rezultat = numar_prefix | rezultat = numar_prefix | ||
return rezultat | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = | n = input() | ||
k = | k = input() | ||
x = | x = 0 | ||
prefix(n, k, x) | if validare(n, k): | ||
print( | n, k = int(n), int(k) | ||
print("Datele introduse corespund restricțiilor impuse.") | |||
prefix(n, k, x) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> | |||
==Explicații== | |||
Acesta este un exemplu de implementare în Python a funcției prefix descrisă în cerință. | |||
Funcția validare este definită pentru a verifica dacă datele de intrare (n și k) corespund restricțiilor impuse în cerințe. Aceasta verifică dacă lungimea lui n este mai mare sau egală cu k și dacă n este mai mic decât 2.000.000.000. | |||
Funcția prefix primește numerele n și k și un parametru rezultat prin referință, pentru a putea returna valoarea determinată de funcție prin intermediul acestuia. | |||
În interiorul funcției, se extrage un număr format din primele k cifre ale lui n și se atribuie variabilei numar_prefix. Această valoare este apoi atribuită parametrului rezultat. În cele din urmă, valoarea parametrului rezultat este returnată de funcție. | |||
În codul principal, sunt definite valorile de test pentru n și k, iar apoi se verifică dacă acestea corespund restricțiilor cu ajutorul funcției validare. Dacă datele de intrare sunt valide, se apelează funcția prefix cu valorile de intrare și cu o variabilă goală x ca parametru rezultat. Valoarea returnată de funcția prefix este apoi afișată. Dacă datele de intrare nu sunt valide, se afișează un mesaj corespunzător. | |||
Latest revision as of 13:57, 6 May 2023
Cerință[edit | edit source]
Să se scrie o funcție Python care primește ca parametri două numere n și k și determină numărul format din primele k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.
Date de intrare[edit | edit source]
Se citește un n, un număr natural mai mic decât 2.000.000.000 și k, un număr natural mai mic sau egal cu numărul de cifre al lui n.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa numar_k, un număr natural format din primele k cifre ale lui n. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări[edit | edit source]
- Numele funcției va fi prefix
- Funcția va avea trei parametri: primul parametru reprezintă numărul n;al doilea parametru reprezintă numărul k; iar al treilea va reprezenta valoarea determinată de funcție
- n va fi număr natural mai mic decât 2.000.000.000
- n va avea cel puțin k cifre
Exemplu[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- 27594
- 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 275
Important[edit | edit source]
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, k):
return len(str(n)) >= int(k) and int(n) < 2_000_000_000
def prefix(n, k, rezultat):
numar_prefix = int(str(n)[:k]) rezultat = numar_prefix return rezultat
if __name__ == '__main__':
n = input() k = input() x = 0 if validare(n, k): n, k = int(n), int(k) print("Datele introduse corespund restricțiilor impuse.") prefix(n, k, x) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicații[edit | edit source]
Acesta este un exemplu de implementare în Python a funcției prefix descrisă în cerință.
Funcția validare este definită pentru a verifica dacă datele de intrare (n și k) corespund restricțiilor impuse în cerințe. Aceasta verifică dacă lungimea lui n este mai mare sau egală cu k și dacă n este mai mic decât 2.000.000.000.
Funcția prefix primește numerele n și k și un parametru rezultat prin referință, pentru a putea returna valoarea determinată de funcție prin intermediul acestuia.
În interiorul funcției, se extrage un număr format din primele k cifre ale lui n și se atribuie variabilei numar_prefix. Această valoare este apoi atribuită parametrului rezultat. În cele din urmă, valoarea parametrului rezultat este returnată de funcție.
În codul principal, sunt definite valorile de test pentru n și k, iar apoi se verifică dacă acestea corespund restricțiilor cu ajutorul funcției validare. Dacă datele de intrare sunt valide, se apelează funcția prefix cu valorile de intrare și cu o variabilă goală x ca parametru rezultat. Valoarea returnată de funcția prefix este apoi afișată. Dacă datele de intrare nu sunt valide, se afișează un mesaj corespunzător.