Cerința
Pentru un număr natural x
mai mare decât 1
numim redusul lui x
cel mai mic număr natural care are exact aceiași divizori primi ca și x
.
Se dă un tablou cu n
elemente, numere naturale mai mari decât 1
. Să se înlocuiască fiecare element din tablou cu redusul său și apoi să afișeze elementele din tabloului ordonate descrescător.
Se vor defini și apela următoarele subprograme:
citire
, care citește de la tastatură valoarea luin
și celen
elemente ale tablouluiafisare
, care afișează pe ecran elementele tabloului, separate prin exact un spațiuredus
, care determină pentru un număr dat redusul săusortare
, care sortează descrescător un tablouinloc
, care realizează înlocuirile cerute.
În programele C/C++ nu se vor folosi variabile globale.
Date de intrare
Se citește de la tastatură numărul n
, iar apoi cele n
elemente ale tabloului.
Date de ieșire
Se vor afișa pe ecran elementele tabloului după transformările cerute, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n ≤ 1000
- elementele tabloului vor fi mai mici decât
1.000.000.000
Exemplu:
Intrare
7 7 18 18 5 14 20 4
Ieșire
14 10 7 6 6 5 2