0911 - Cifre6: Difference between revisions
Cuceu Andrei (talk | contribs) 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... |
Vardai Erwin (talk | contribs) |
||
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>