#573 · Subiectul II · Programare
Numere cu prima cifră pătrat perfect, ordonate descrescător (p_cifra recursiv și sortare)
✓ Rezolvare explicatăBucurești 2020 · nr. 1
Enunț
Fișierul atestat.in conține pe prima linie un număr natural n (2≤n≤100), iar pe a doua linie n numere naturale de cel mult 9 cifre fiecare, separate prin câte un spațiu.
Se consideră subprogramele:
p_cifra(implementat recursiv), cu un singur parametruy, număr natural de cel mult 9 cifre. Subprogramul returnează cifra semnificativă (prima cifră) a luiy;sortare, cu doi parametri:v, un tablou unidimensional cu cel mult 100 de numere naturale de cel mult 9 cifre, șin, numărul efectiv de componente (2≤n≤100). Subprogramul ordonează descrescător elementele luiv.
a. Scrieți definiția completă a subprogramului p_cifra.
b. Scrieți definiția completă a subprogramului sortare.
c. Scrieți un program care citește datele din atestat.in și, utilizând apeluri utile ale subprogramelor p_cifra și sortare, scrie în atestat.out, ordonate descrescător, valorile de pe a doua linie a fișierului care au cifra semnificativă un pătrat perfect. Dacă nu există astfel de numere, se scrie mesajul nu exista.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
919 25 5632 9872 48903 33 17634 90 3452 |
48903 17634 9872 90 19 |
Primele cifre 1, 9, 4, 1, 9 sunt pătrate perfecte; 2, 5, 3 nu |
Rezolvare
Exersează mai departe
Probleme cu aceeași tehnică
#283ProgramarePoziția unui element în vectorul ordonat, fără a-l ordona#284ProgramareCel mai mic multiplu de k dintre două elemente consecutive, în fișier#336ProgramareOrdonarea crescătoare după numărul de cifre, apoi după valoare#344ProgramareOrdonarea descrescătoare după ultima cifră, apoi după valoare#569ProgramareElementele comune ale unui tablou crescător și ale unuia descrescător (subprogramul tablou)#574ProgramareÎnjumătățirea numerelor cu toate cifrele pare (subprogramele verif și modif)