0911 - Cifre6: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== Să se scrie o funcție Python care primește ca parametri două numere n și k și determină cel mai mare număr care poate fi scris cu k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire. ==Restricții de precizări== :Numele funcției va fi '''numar''' :Funcția va avea trei parametri: primul parametru reprezintă numărul '''n'''; al doilea parametru reprezintă numărul '''k''', iar al treilea va reprezenta valoa...
 
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ă cel mai mare număr care poate fi scris cu 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ă cel mai mare număr care poate fi scris cu '''k''' cifre ale lui '''n'''. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.


==Restricții de precizări==
==Restricții de precizări==

Revision as of 20:10, 19 March 2023

Cerință

Să se scrie o funcție Python care primește ca parametri două numere n și k și determină cel mai mare număr care poate fi scris cu k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

Restricții de precizări

Numele funcției va fi numar
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 toți parametrii vor fi numere naturale nenule mai mici decât 2.000.000.000
n va avea cel puțin k cifre

Exemplul 1

Dupa apelul
numar(27594 , 3 , x);
Ieșire
x va avea valoarea 975.

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 numar(n, k):

   cifre = sorted(str(n), reverse=True) # Sortează cifrele lui n în ordine descrescătoare
   numar_maxim = int(.join(cifre[:k])) # Concatenează primele k cifre și le transformă în int
   return numar_maxim # Returnează numărul maxim

def main():

   n = int(input("Introduceti numarul n: "))
   k = int(input("Introduceti numarul k: "))
   if k > len(str(n)):
       print("Eroare: k trebuie sa fie mai mic sau egal cu numarul de cifre ale lui n.")
       return
   numar_maxim = numar(n, k)
   print("Cel mai mare numar ce poate fi scris cu", k, "cifre ale lui", n, "este", numar_maxim)

if __name__ == '__main__':

   main()

</syntaxhighlight>