0910 - KPrefix
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.
Date de intrare
- n, un număr natural mai mic decât 2.000.000.000
- k, un număr natural mai mic sau egal cu numărul de cifre al lui n
Date de ieșire
- numar_k, un număr natural format din primele k cifre ale lui n
Restricții de precizări
- 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
Exemplul 1
- Dupa apelul
- prefix(27594 , 3 , x);
- Ieșire
- x va avea valoarea 275.
Important
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
Rezolvare ver. 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):
numar_prefix = int(str(n)[:k]) rezultat = numar_prefix return rezultat
if __name__ == '__main__':
n = 27594 k = 3 x = 0 if validare(n, k): print("Datele introduse corespund restricțiilor impuse.") prefix(n, k, x) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicatii
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.