0910 - KPrefix

From Bitnami MediaWiki
Revision as of 15:35, 30 April 2023 by Cuceu Andrei (talk | contribs)

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.