0911 - Cifre6: Diferență între versiuni
De la Universitas 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...) |
|||
Linia 1: | Linia 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== |
Versiunea de la data 19 martie 2023 20:10
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
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()