0911 - Cifre6: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 3: | Line 3: | ||
==Restricții de precizări== | ==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== | ==Exemplul 1== | ||
;Dupa apelul | ;Dupa apelul |
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>